首页 > 数据库 > mysql教程 > 如何将 PostgreSQL 表的列转置为行?

如何将 PostgreSQL 表的列转置为行?

Patricia Arquette
发布: 2025-01-05 15:53:46
原创
1028 人浏览过

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中文网其他相关文章!

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