首页 > 数据库 > mysql教程 > 如何使用 unnest() 转置 PostgreSQL 表?

如何使用 unnest() 转置 PostgreSQL 表?

Linda Hamilton
发布: 2025-01-04 21:34:43
原创
522 人浏览过

How Can I Transpose a PostgreSQL Table Using `unnest()`?

通过将列转换为行来转置表

在 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"
登录后复制

说明:

  • array[...] 构造包含列名称和每个列对应值的数组
  • unnest() 函数从数组中提取每个元素并将它们视为单独的行。
  • ORDER BY 子句确保转置表具有原始列顺序。

此查询将输出所需的转置表格式。

参考:

unnest() 函数记录在 PostgreSQL 文档中的“convertingColumnsToRows”下。

以上是如何使用 unnest() 转置 PostgreSQL 表?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板