Прежде всего, значения NULL являются отсортированными последними по умолчанию по возрастанию . Вам не нужно делать ничего лишнего.
Эта проблема относится к убывающему порядку , который является совершенным обратным и, следовательно, сначала сортирует значения NULL. Решение , на которое указал Мости, было представлено с PostgreSQL 8.3 :
ORDER BY somevalue DESC NULLS LAST
Для PostgreSQL 8.2 и более ранних версий или других СУБД без этой стандартной функции SQL, которую можно заменить:
ORDER BY (somevalue IS NULL), somevalue DESC
FALSE
сортирует перед TRUE
, поэтому значения NULL идут последними, как в примере выше.
Связанный позже ответ: