#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
Комментариев нет:
Отправить комментарий