Задать вопрос
@superivankorolev

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

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

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

А вот выбрать минимальную цену внутри группы - это проблема, простая min(price) не прокатит и вернет всего один товар. А не все товары с минимальной ценой из группировки...
  • Вопрос задан
  • 142 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 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)

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

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

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