#sql #postgresql
Доброго времени суток
подскажите как отсортировать по нескольким условиям (SQL ORDER BY )
допустим таблица
A(row_num) B(аттрибут),C(name)
нужна, сортировка по алфавиту по столбцу 'С'(имени), но так чтобы чтобы первыми были
записи те, где B = null(а может не только null, а какой либо еще параметр должен быть
приоритетным)
база postgresql
условно должно выйти:
1 null Петя --идет раньше Андрея т.к. null
2 33 Андрей
3 20 Петр
4 454 Яна
Ответы
Ответ 1
select * from table order by case when attr is null then 0 else 1 end, nameОтвет 2
Можно поступить следующим образом SELECT * FROM tbl ORDER BY attr IS NOT NULL, nameОтвет 3
SELECT * FROM (SELECT * FROM table WHERE B IS NULL order by C) t1 union ALL SELECT * FROM (SELECT * FROM table WHERE NOT B IS NULL order by C) t2
Комментариев нет:
Отправить комментарий