ホームページ >データベース >mysql チュートリアル >PostgreSQL で「unnest()」を使用してテーブル (列から行) を転置するにはどうすればよいですか?

PostgreSQL で「unnest()」を使用してテーブル (列から行) を転置するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-04 08:34:45141ブラウズ

How Can I Transpose Tables (Columns to Rows) in PostgreSQL Using `unnest()`?

テーブルの転置: PostgreSQL での列から行への変換

列を行に回転して表形式データを変換することは、データ操作において貴重な操作となる場合があります。 PostgreSQL には、この転置を効果的に実現する方法があります。そのような方法の 1 つは、unnest() 関数を活用することです。

unnest() を使用した解決策

テーブルを転置するには、unnest() と ARRAY 集計を組み合わせて使用​​できます。次のクエリは、この手法を示しています。

SELECT
   unnest(array['Sl.no', 'username', 'Designation','salary']) AS "Columns",
   unnest(array[Sl.no, username, value3Count,salary]) AS "Values"
FROM view_name
ORDER BY "Columns"

説明

  • unnest() 関数は、配列を個々の要素に解凍します。この場合、元のテーブルから列名と対応する値が抽出されます。
  • ARRAY 集計は、各行の列名と値を保持する配列を作成します。
  • ORDER BY 句はソートします。転置されたテーブルに目的の内容が含まれていることを確認するために、列名ごとに結果を表示します。 Structure.

出力:

クエリは次の形式の転置テーブルを返します:

Columns Values
Sl.no 1
username A
Designation XYZ
salary 10000
Sl.no 2
username B
Designation RTS
salary 50000
Sl.no 3
username C
Designation QWE
salary 20000
Sl.no 4
username D
Designation HGD
salary 34343

注: 元のテーブルクエリ内の名前は、実際のテーブル名によって異なる場合があります。

以上がPostgreSQL で「unnest()」を使用してテーブル (列から行) を転置するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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