Existe-t-il un moyen avec PostgreSQL pour trier les lignes avec des valeurs NULL
dans les champs à la fin de la table sélectionnée?
Comme:
SELECT * FROM table ORDER BY somevalue, PUT_NULL_TO_END
Tout d'abord, les valeurs NULL sont triées en dernier par défaut ascendant ordre. Vous n'avez rien à faire de plus.
Le problème s'applique à décroissant ordre, qui est l'inverse parfait et trie donc les valeurs NULL en premier. La solution @Mosty l'a souligné a été introduite avec PostgreSQL 8.3 :
ORDER BY somevalue DESC NULLS LAST
Pour PostgreSQL 8.2 et les anciens ou autres SGBDR sans cette fonctionnalité SQL standard, vous pouvez remplacer:
ORDER BY (somevalue IS NULL), somevalue DESC
FALSE
trie avant TRUE
, donc les valeurs NULL viennent en dernier, comme dans l'exemple ci-dessus.
Réponse ultérieure connexe:
Est-ce que cela fait l'affaire?
ORDER BY somevalue DESC NULLS LAST
Tiré de: http://www.postgresql.org/docs/9.0/static/sql-select.html