透過將列轉換為行來轉置表
在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"
說明:
此查詢將輸出所需的轉置表格式。
參考:
unnest() 函數記錄在 PostgreSQL 文件中的「convertingColumnsToRows」下。
以上是如何使用 unnest() 轉置 PostgreSQL 表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!