Чи є спосіб за допомогою PostgreSQL сортувати рядки зі NULL
значеннями в полях до кінця вибраної таблиці?
Люблю:
SELECT * FROM table ORDER BY somevalue, PUT_NULL_TO_END
Відповіді:
По- перше, значення NULL будуть відсортовані в минулому , за замовчуванням , по зростанню порядку. Не потрібно робити нічого зайвого.
Проблема застосовується до порядку зменшення , який є ідеальним оберненим, і таким чином сортує значення NULL спочатку. Рішення @Mosty Вказав було введено з PostgreSQL 8.3 :
ORDER BY somevalue DESC NULLS LAST
Для PostgreSQL 8.2 та старіших версій або інших СУБД без цієї стандартної функції SQL ви можете замінити:
ORDER BY (somevalue IS NULL), somevalue DESC
FALSE
сортує раніше TRUE
, тому значення NULL стають останніми, як у прикладі вище.
Відповідна пізніше відповідь:
Чи робить це фокус?
ORDER BY somevalue DESC NULLS LAST
Взято з: http://www.postgresql.org/docs/9.0/static/sql-select.html