Есть ли способ, с помощью которого PostgreSQL сортировать строки со значениями NULL в полях в конце выбранной таблицы?
Как
SELECT * FROM table ORDER BY somevalue, PUT_NULL_TO_END
Ответ 1
Прежде всего значения 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 являются последними, как в приведенном выше примере.