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