ホームページ > データベース > mysql チュートリアル > PostgreSQL テーブルの列を行に転置するにはどうすればよいですか?

PostgreSQL テーブルの列を行に転置するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-05 15:53:46
オリジナル
1028 人が閲覧しました

How Can I Transpose a PostgreSQL Table's Columns into Rows?

テーブルの転置: 列から行へ

問題ステートメント:

次の形式の 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関数:

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['Sl.no', 'username', 'Designation', 'salary'] ) 元のテーブルの各列に新しい行を作成し、効果的に列を作成します。 names.
  • unnest(array[Sl.no, username, value3Count,salary]) は、列名に対応して、元のテーブルの値ごとに新しい行を作成します。
  • ORDER BY " Columns" を使用すると、行が列名によって順序付けされるようになります。

このクエリは、目的の転置テーブルを生成します。列が行になりました。

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

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