PostgreSQL テーブルソート: NULL 値優先設定
PostgreSQL テーブルを日付/時刻フィールドで昇順に並べ替える場合、一部のレコードのそのフィールドに NULL 値が含まれる状況が発生することがあります。通常、これらのレコードは、NULL 以外のレコードの後に表示されます。ただし、NULL 値を持つレコードを最初に表示したい場合があります。
PostgreSQL の ORDER BY
式は、この目的のために NULLS FIRST
修飾子を提供します。この修飾子を使用すると、次のようにテーブルを並べ替えることができます:
... ORDER BY last_updated NULLS FIRST
これにより、フィールドに NULL 値を持つ last_updated
レコードが、NULL 以外の値を持つレコードの前に表示されます。
降順で並べ替えるには、NULLS LAST
修飾子を使用できます:
... ORDER BY last_updated DESC NULLS LAST
このクエリをサポートするインデックスを作成するには、ORDER BY
句の順序と一致していることを確認してください:
CREATE INDEX foo_idx ON tbl (last_updated DESC NULLS LAST);
PostgreSQL は btree インデックスを逆に読み取ることができるため、NULLS LAST
オプションを明示的に指定せずにインデックスを作成することもできます。
CREATE INDEX foo_idx ON tbl (last_updated);
以上がNULL 値を含む PostgreSQL テーブルを最初または最後にソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。