Recosh
@Recosh
Программист студент

Как составить запрос в MySQL для сортировки по значению?

Есть табличка:
1ade787b12cf41e49db9fe6853a91593.png

Подскажите, как составить запрос что бы была сортировка по price по возрастанию, но элементы у которых qt = 0 вывести последними?

То есть в итоге хочу получить такой результат:
65d5596a307746f896ccd73aa7e03930.png
  • Вопрос задан
  • 401 просмотр
Решения вопроса 2
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
попробуйте
SELECT * FROM TBL_MYTABLE WHERE qt > '0' ORDER BY price
UNION  SELECT * FROM TBL_MYTABLE WHERE qt = '0' ORDER BY price
Ответ написан
Комментировать
Другой вариант - добавить новое поле для сортировки, например:
SELECT name, price, qt, IF (q>0,1,0) as is_present ORDER BY is_present, price;

Сортировка произойдет сначала по новой переменной, которая отделит нулевые qt, а затем внутри этих групп упорядочит по цене.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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