ホームページ > データベース > mysql チュートリアル > 特定の値の例外を使用して PostgreSQL で Null を最後にソートする方法は?

特定の値の例外を使用して PostgreSQL で Null を最後にソートする方法は?

Barbara Streisand
リリース: 2024-12-29 11:44:18
オリジナル
513 人が閲覧しました

How to Sort Nulls Last in PostgreSQL with a Specific Value Exception?

並べ替え: 特別な例外を除いてすべて Null です

オプションの並べ替えフィールドを使用してデータベース テーブル内のデータを整理する場合、Null 値を最後に配置するのが一般的です。ただし、特定の値に対して例外が必要な場合があります。 PostgreSQL では、null 値を非 null の後に並べ替えるという要件が生じました。-1 は例外であり、他のすべての後に来る必要があります。

これを達成するために、次のような簡単な解決策が提示されました。

SELECT *
FROM   tasks
ORDER  BY (sort IS NOT DISTINCT FROM -1), sort;
ログイン後にコピー

Postgres は、NULL を含むブール値を型として扱います。デフォルトの並べ替え順序は次のとおりです:

  • FALSE (0)
  • TRUE (1)
  • NULL

式内 (sort IS NOT DISTINCT FROM -1)、条件は、-1 を除くすべての値に対して FALSE と評価されます。 TRUE にすると最後にソートされます。これを並べ替えによる二次順序付けと組み合わせると、データが希望どおりに並べ替えられます。

同じ結果を生成する代替クエリは次のとおりです。

SELECT *
FROM   tasks
ORDER  BY (sort IS DISTINCT FROM -1) DESC, sort;
ログイン後にコピー

Postgres のブール機能を利用し、ORDER と組み合わせることで、 BY 句を使用すると、複雑な並べ替え要件を簡単に処理できるようになります。

以上が特定の値の例外を使用して PostgreSQL で Null を最後にソートする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート