Czy w PostgreSQL istnieje sposób na sortowanie wierszy z NULL
wartościami w polach do końca wybranej tabeli?
Lubić:
SELECT * FROM table ORDER BY somevalue, PUT_NULL_TO_END
Odpowiedzi:
Przede wszystkim wartości NULL są sortowane jako ostatnie w domyślnej kolejności rosnącej . Nie musisz robić nic więcej.
Problem dotyczy kolejności malejącej , która jest odwrotnością idealną i dlatego najpierw sortuje wartości NULL. Roztwór @Mosty podkreślić, został wprowadzony PostgreSQL 8.3 :
ORDER BY somevalue DESC NULLS LAST
W przypadku PostgreSQL 8.2 i starszych lub innych RDBMS bez tej standardowej funkcji SQL można zastąpić:
ORDER BY (somevalue IS NULL), somevalue DESC
FALSE
sortuje wcześniej TRUE
, więc wartości NULL znajdują się na końcu, tak jak w powyższym przykładzie.
Powiązana odpowiedź później:
Czy to działa?
ORDER BY somevalue DESC NULLS LAST
Zaczerpnięte z: http://www.postgresql.org/docs/9.0/static/sql-select.html