ホームページ >データベース >mysql チュートリアル >NULL 値を含む PostgreSQL テーブルを最初または最後にソートするにはどうすればよいですか?

NULL 値を含む PostgreSQL テーブルを最初または最後にソートするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-23 02:43:09649ブラウズ

How to Sort PostgreSQL Tables with NULL Values First or Last?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。