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

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

26.12.2024 18:30


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

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