首頁 >資料庫 >mysql教程 >如何將 PostgreSQL 表的欄位轉置為行?

如何將 PostgreSQL 表的欄位轉置為行?

Patricia Arquette
Patricia Arquette原創
2025-01-05 15:53:46980瀏覽

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', '使用者名稱', '職稱','工資'] )為原始表中的每一列建立一個新行,有效地建立列名稱。
  • unnest(array[Sl.no, username, value3Count,salary]) 為原始表中的每個值建立一行新行,對應於列名。
  • ORDER BY " Columns」確保行以列名排序。

此查詢將產生所需的轉置表,其中列現在位於行。

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

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