Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > MySQL & MariaDB

Как выбрать строку с минимальным значением одной из колонок? : MySQL & MariaDB

28.03.2024 15:01


15.12.2017 13:58
OlegON
 
Давно мучаюсь вопросом, есть ли способ выбирать строку из, например, списка продуктов, где минимальная цена из выборки.
Традиционный способ
SQL код:
SELECT FROM pieces WHERE price =  ( SELECT MIN(priceFROM pieces 
неудобен хотя бы тем, что сильно распухает при увеличении условий в where и подзапрос опять же...
Есть вариант с выводом
SQL код:
SELECT FROM pieces order by price limit 1 
он сильно подведет, если выборка большая...
Есть какие-то еще идеи, как это сделать красиво и быстро?
15.12.2017 14:13
Mtirt
 
Аналитические функции?
select * from
(select *, row_number() over (order by price desc) RN from pieces)
where RN=1
15.12.2017 14:36
OlegON
 
Вот, к сожалению, с аналитикой в MariaDB не знаком... Втупую попробовал вышеприведенное - не работает. И уже опять вложенный запрос...
15.12.2017 16:11
vdm
 
Индекс по цене! (типа шутка).
Часовой пояс GMT +3, время: 15:01.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.