Задача: получить из БД интернет-магазина товары в следующем порядке - сначала идут товары у которых цена составляет от 6 000 до 20 000 руб, далее все остальные в порядке возрастания цены.
Таблица товаров `prods`
имеет следующий вид:
Решение:
SELECT
*,
IF(`price` BETWEEN 6000 AND 20000, 1, 0) AS `price_sort`
FROM
`prods`
ORDER BY
`price_sort` DESC, `price`
В результате запроса получаем нужную сортировку: