MySQL

Сортировка по диапазону цен

Задача: получить из БД интернет-магазина товары в следующем порядке - сначала идут товары у которых цена составляет от 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`

В результате запроса получаем нужную сортировку:

13 октября 2017