@superivankorolev

Как оптимально выбрать минимальную цену внутри группы товаров?

Допустим, есть таблица вида:
| id | name| price | attib1 | attrib2 |

пишем GROUP BY name, attib1, attrib2

А вот выбрать минимальную цену внутри группы - это проблема, простая min(price) не прокатит и вернет всего один товар. А не все товары с минимальной ценой из группировки...
  • Вопрос задан
  • 139 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега MySQL
Вам просто нужно делать два запроса. Сначала группировкой выбираете нужные критерии (цена, остальные атрибуты), а потом выбираете из таблицы всё, что этим критериям соответствует.
SELECT t.* FROM table t
INNER JOIN (SELECT MIN(price) as price, name, attib1, attrib2 FROM table GROUP BY name, attib1, attrib2) tmp USING (price, name, attib1, attrib2)

Весьма вероятно, что я где-то ошибся в синтаксисе, но общий смысл такой.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы