PostgreSQLで、フィールドにNULL
値を持つ行を選択したテーブルの最後までソートする方法はありますか?
お気に入り:
SELECT * FROM table ORDER BY somevalue, PUT_NULL_TO_END
まず、NULL値areはデフォルトで最後にソートされます昇順順序。特別なことをする必要はありません。
この問題はdescending順序に適用されます。これは完全な逆であり、NULL値を最初にソートします。 ソリューション@Mostyが指摘した は、PostgreSQL 8.3で導入されました:
ORDER BY somevalue DESC NULLS LAST
PostgreSQL 8.2およびこの標準SQL機能のない古いまたは他のRDBMSの場合、次のように置き換えることができます。
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