У меня есть таблица:
SELECT * FROM shop;
+---------+--------+------
| article | dealer | price
+---------+--------+------
| 0001 | A | 3.45
| 0001 | B | 3.99
| 0002 | A | 10.99
| 0003 | B | 1.45
| 0003 | C | 1.69
| 0003 | D | 1.25
| 0004 | D | 19.95
+---------+--------+------
7 rows in set (0.20 sec)
И я хочу получить - для каждой статьи - дилера или дилеров с самой дорогой ценой.
Может кто-нибудь сказать мне, почемуэто не работает?
SELECT article, dealer, MAX(price) FROM shop GROUP BY(article);
Для этого запроса я получаю следующий набор результатов;
+---------+--------+------------+
| article | dealer | MAX(price) |
+---------+--------+------------+
| 0001 | A | 3.99 |
| 0002 | A | 10.99 |
| 0003 | B | 1.69 |
| 0004 | D | 19.95 |
+---------+--------+------------+
4 rows in set (0.03 sec)
Несмотря на то, что максимальные цены верны, я нашел неправильных дилеров для некоторых товаров.