@EVOSandru6

Можно ли в postgres выполнить условную сортировку?

Привет, ребят!
Подскажите - возможно ли провернуть динамическую сортировку - сперва по типу и далее в зависимости от типа:
Что-то вроде:

select * from products 
order by type ASC 
( case type = 'books' then id desc  case type ="food" then name asc price desc case type="relax" popular asc, id desc end)
  • Вопрос задан
  • 151 просмотр
Пригласить эксперта
Ответы на вопрос 1
@Akina
Сетевой и системный админ, SQL-программист.
select * 
from products 
order by type ASC,
         case WHEN type = 'books' then id      ELSE 0 END desc,
         case WHEN type = "food"  then name    ELSE 0 END asc,
         case WHEN type = "food"  then price   ELSE 0 END desc,
         case WHEN type = "relax" THEN popular ELSE 0 END asc,
         case WHEN type = "relax" THEN id      ELSE 0 END desc
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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