ホームページ >データベース >mysql チュートリアル >「unnest()」を使用して PostgreSQL テーブルを転置するにはどうすればよいですか?
列を行に変換してテーブルを転置する
PostgreSQL でテーブルを操作する場合、テーブルを転置する必要がある場合があります。 、基本的に列を行に変換します。これは、さまざまなデータ分析の目的に役立つ変換です。
問題ステートメント:
次の形式でデータを出力する PostgreSQL 関数またはテーブルがあります:
Sl.no | username | Designation | salary | etc.. |
---|---|---|---|---|
1 | A | XYZ | 10000 | ... |
2 | B | RTS | 50000 | ... |
3 | C | QWE | 20000 | ... |
4 | D | HGD | 34343 | ... |
出力が次のように表示されるように、このテーブルを転置したいとします。形式:
Sl.no | 1 | 2 | 3 | 4 | ... |
---|---|---|---|---|---|
Username | A | B | C | D | ... |
Designation | XYZ | RTS | QWE | HGD | ... |
Salary | 10000 | 50000 | 20000 | 34343 | ... |
解決策:
この転置を実現するには、PostgreSQL の unnest() 関数を使用できます。この関数を使用すると、配列から要素を抽出し、それらを個別の行として扱うことができます。
テーブルを転置するクエリは次のとおりです:
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"
説明:
このクエリは、目的の転置テーブルを出力します。 format.
リファレンス:
unnest() 関数は、PostgreSQL ドキュメントの「convertingColumnsToRows」に記載されています。
以上が「unnest()」を使用して PostgreSQL テーブルを転置するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。