@sys_user

Как спомощью SQL(oracle) отсортировать записи по статусу?

Есть вот такая таблица
619224aca277c623279977.png
Как отсортировать эту таблицу чтобы вначале были продукты в статусе "cancelled" а дальше все остальные в любом порядке? В голову приходит только использовать union (первый запрос выберет записи в статусе "cancelled" а второй запрос записи без записей в статусе "cancelled")
Есть ли способы сделать кастомную сортировку?
  • Вопрос задан
  • 42 просмотра
Решения вопроса 2
BorLaze
@BorLaze
Java developer
Оракла под рукой нет, но идея, думаю, понятна.

SELECT name, status, price, 
   CASE status WHEN 'cancelled' THEN 0
   ELSE 1 END as pos
FROM TABLE
ORDER BY pos;
Ответ написан
Комментировать
@Akina
Сетевой и системный админ, SQL-программист.
SELECT * 
FROM test
ORDER BY CASE status WHEN 'cancelled'
                     THEN 1
                     ELSE 2
                     END;

https://dbfiddle.uk/?rdbms=oracle_11.2&fiddle=30ad...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы