首頁 >資料庫 >mysql教程 >如何在 PostgreSQL 中轉置表:將列轉換為行?

如何在 PostgreSQL 中轉置表:將列轉換為行?

Barbara Streisand
Barbara Streisand原創
2025-01-03 20:26:41927瀏覽

How to Transpose a Table in PostgreSQL: Converting Columns to Rows?

轉置表格:將列轉換為行

使用表格資料時,轉置表格(將其列轉換為行)非常有用。這可以促進數據視覺化、分析以及與其他數據集的整合。

考慮以下PostgreSQL 表,其中包含員工資訊:

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

要轉置此表,我們可以使用以下內容步驟:

  1. 取消巢狀欄位名稱:
    使用unnest()函數,我們可以將列名稱提取到單獨的行中:

    unnest(array['Sl.no', 'username', 'Designation','salary']) AS "Columns"
  2. 取消資料值的巢狀:
    類似地,我們可以將每一行的資料值提取到單獨的rows:

    unnest(array[Sl.no, username, value3Count,salary]) AS "Values"
  3. 加入提取的清單:
    最後,我們可以加入提取的列名和資料值來重新建立轉置表:

    SELECT
       "Columns",
       "Values"
    FROM transposed_table
    ORDER BY "Columns"

此查詢的結果將be:

Sl.no            1       2        3       4
 Username        A       B        C       D
 Designation     XYZ     RTS      QWE     HGD
 Salary          10000   50000    20000   34343

此轉置表現在將員工資訊依行排列,原始列名稱作為第一列。這種格式可以更方便地進行某些操作,例如資料視覺化或比較不同類別的員工屬性。

以上是如何在 PostgreSQL 中轉置表:將列轉換為行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn