ホームページ >データベース >mysql チュートリアル >ウィンドウ関数を使用して PostgreSQL クエリ結果に行番号を追加するにはどうすればよいですか?

ウィンドウ関数を使用して PostgreSQL クエリ結果に行番号を追加するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-26 15:37:15821ブラウズ

How Can I Add Row Numbers to My PostgreSQL Query Results Using Window Functions?

ウィンドウ関数を使用した PostgreSQL クエリの行番号の表示

参照と分析を容易にするために、PostgreSQL クエリの各レコードの行番号を表示します非常に有益になる可能性があります。 PostgreSQL 8.4 以降では、強力なウィンドウ関数 ROW_NUMBER() によってこの機能が有効になります。

ROW_NUMBER() 関数の利用

各レコードの連続した観測番号を表示するには、クエリで ROW_NUMBER() 関数を使用できます。その構文には、行の順序を決定するための ORDER BY 句が含まれています。実装方法は次のとおりです。

SELECT ROW_NUMBER() OVER (ORDER BY field NULLS LAST) AS rownum, *
FROM foo_tbl
ORDER BY field;

このクエリ内:

  • ROW_NUMBER() OVER (ORDER BY field NULLS LAST) は、各レコードの行番号を計算し、
  • foo_tbl は、取得するデータを含むテーブルを表します。 enumerate.
  • フィールドは、行を並べ替える列を指定します。 NULL 値は NULLS LAST オプションによって処理され、シーケンスの最後に配置されます。

順序付けを行わない簡略化されたアプローチ

行の順序付けが必須ではない場合、ORDER BY を除外することでクエリを簡素化できます。句:

SELECT ROW_NUMBER() OVER(), *
FROM foo_tbl;

この方法では、特定の順序や並べ替えを考慮せずに各レコードに行番号を割り当てます。

次の SQL について考えてみましょう。フィドルのデモンストレーション: https://www.sqlfiddle.com/#!17/665c8e/1

以上がウィンドウ関数を使用して PostgreSQL クエリ結果に行番号を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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