Existe uma maneira com o PostgreSQL de classificar as linhas com NULL
valores nos campos até o final da tabela selecionada?
Gostar:
SELECT * FROM table ORDER BY somevalue, PUT_NULL_TO_END
Respostas:
Em primeiro lugar, os valores NULL são classificados por último na ordem crescente padrão . Você não precisa fazer nada extra.
O problema se aplica à ordem decrescente , que é o inverso perfeito e, portanto, classifica os valores NULL primeiro. A solução apontada por @Mosty foi introduzida com PostgreSQL 8.3 :
ORDER BY somevalue DESC NULLS LAST
Para PostgreSQL 8.2 e mais antigo ou outro RDBMS sem este recurso SQL padrão, você pode substituir:
ORDER BY (somevalue IS NULL), somevalue DESC
FALSE
classifica antes TRUE
, então os valores NULL vêm por último, como no exemplo acima.
Resposta posterior relacionada:
Isso faz o truque?
ORDER BY somevalue DESC NULLS LAST
Retirado de: http://www.postgresql.org/docs/9.0/static/sql-select.html