Как составить запрос MYSQL для сортировки по связаной таблице учитывая только максимальные значения подмножества

267
28 октября 2017, 15:21

Есть 2 таблицы:

Product
-id
-name
Price
-id
-value
-product_id
-price_type

Т.е у продукта может быть несколько типов цены. Нужно задать сортировку по максимальной или минимальной цене (по связанной таблице Price столбца value) каждого продукта.

Answer 1

Ну так и делаете:

SELECT `i`.`name`, MAX(`p`.`value`) as `maxprice`, MAX(`p`.`value`) as `minprice` FROM `Product` `i`
INNER JOIN `Price` `p` ON `i`.`id` = `p`.`product_id`
GROUP BY `i`.`id`
ORDER BY `maxprice`

В принципе, можно не выбирать даже эти значения а сразу написать ORDER BY MAX(p.value).

Т.е., в любом случае конструкция ORDER BY отрабатывает после GROUP BY и HAVING. После неё только LIMIT идёт.

READ ALSO
Как быстро освоить Spring MVC? [требует правки]

Как быстро освоить Spring MVC? [требует правки]

Есть необходимость сделать Web-приложениеЗавершить его надо к апрелю

315
Анимация CollapsingToolbarLayout

Анимация CollapsingToolbarLayout

Мне нужно сделать свой бар, фоном которого будет проскроливающаяся картинка, как на прикрепленных скринахЗнаю как сделать такое активити,...

323
Проверить состояние потока java

Проверить состояние потока java

Необходимо написать 2 потокаПоток А с переодичностью в 10 секунд будет переключаться из состояния "позволено" в состояние "не позволено", и 2 поток...

484