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, а затем внутри этих групп упорядочит по цене.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Искра Екатеринбург
от 80 000 до 100 000 ₽
Art gorka Санкт-Петербург
от 60 000 ₽
28 апр. 2024, в 21:29
3000 руб./за проект
28 апр. 2024, в 20:09
9000 руб./за проект
28 апр. 2024, в 19:54
2000 руб./за проект