- категория
- товар
- цена
потребно найти самый дорогой(или дешевый) товар в каждой категории
ограничение: одним запросом, но допустимы подзапросы, джойны и пр.
Никак не справлюсь
Модератор: Модераторы разделов
Ratamahatta писал(а): ↑05.04.2007 18:38
не катит, это максимум внутри категории по КАЖДОМУ из товаров
Код: Выделить всё
mysql> select * from products;
+----------+-------+----------+
| name | price | category |
+----------+-------+----------+
| product1 | 1 | cat1 |
| product2 | 2 | cat1 |
| product3 | 4 | cat2 |
| product4 | 3 | cat2 |
+----------+-------+----------+
4 rows in set (0.01 sec)
mysql> select p1.name, p1.price, p1.category from products p1 where p1.price in (select max(p2.price) from products p2 where p2.category = p1.category) group by category;
+----------+-------+----------+
| name | price | category |
+----------+-------+----------+
| product2 | 2 | cat1 |
| product3 | 4 | cat2 |
+----------+-------+----------+
2 rows in set (0.01 sec)
mysql>Код: Выделить всё
SELECT
cat,
prod,
price
FROM tab
INNER JOIN
(
SELECT
cat,
MAX(price) AS price
FROM tab
GROUP BY cat
) AS temp
ON tab.cat=temp.cat AND tab.price=temp.priceНормализуйте таблицу. Перенесите категории и имена товаров в отдельные таблицы.(Ratamahatta @ Apr 5 2007, в 20:08) писал(а):правда меня беспокоит скорость на больших выборках ...