Есть ли способ с 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