Задать вопрос
@sys_user

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

Есть вот такая таблица
619224aca277c623279977.png
Как отсортировать эту таблицу чтобы вначале были продукты в статусе "cancelled" а дальше все остальные в любом порядке? В голову приходит только использовать union (первый запрос выберет записи в статусе "cancelled" а второй запрос записи без записей в статусе "cancelled")
Есть ли способы сделать кастомную сортировку?
  • Вопрос задан
  • 61 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Компьютерная академия «TOP»
    Учебная программа “Разработка программного обеспечения”
    30 месяцев
    Далее
  • Специалист.ру
    Oracle Database 19с: Основы SQL
    1 неделя
    Далее
  • Компьютерная академия «TOP»
    Разработка на Java
    1 год
    Далее
Решения вопроса 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...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы