通过将列转换为行来转置表
在 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中文网其他相关文章!