Я пытаюсь написать SQLite запроса, который заказывает таблицу mytable
во-первых, в колонке под названием status_id
и во-вторых, в колонке под названием name
, но с дополнительным ограничением использования:Сортировка SQL на основе двух полей и дополнительного ограничения
SELECT name,
status_id
FROM mytable
ORDER BY status_id, name
создает таблицу, которая правильно сортируется.
например (имя, статус): («b», 1), («a», 2), («c», 2), («b», 3), («a», 4) ...
Однако мне нужен такой же вывод, но с любым результатом, имеющим status_id
, равным 2, находясь в верхней части результатов.
например. ("А", 2), ("с", 2), ("б", 1), ("б", 3), ("а", 4) ...
Я придумал, но это не работает, как требуется, так как список также не subsorted по имени:
SELECT name,
status_id
FROM mytable
ORDER BY CASE status_id
WHEN 2 THEN 0 ELSE 1 END DESC
+1 Вы показали нам, что вы устали до сих пор. – Parado