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

如何在 PostgreSQL 中转置表:将列转换为行?

Barbara Streisand
Barbara Streisand原创
2025-01-03 20:26:41948浏览

How to Transpose a Table in PostgreSQL: Converting Columns to Rows?

转置表格:将列转换为行

使用表格数据时,转置表格(将其列转换为行)非常有用。这可以促进数据可视化、分析以及与其他数据集的集成。

考虑以下 PostgreSQL 表,其中包含员工信息:

Sl.no    username    Designation    salary
1        A           XYZ            10000
2        B           RTS            50000
3        C           QWE            20000
4        D           HGD            34343

要转置此表,我们可以使用以下内容步骤:

  1. 取消嵌套列名称:
    使用 unnest() 函数,我们可以将列名称提取到单独的行中:

    unnest(array['Sl.no', 'username', 'Designation','salary']) AS "Columns"
  2. 取消数据值的嵌套:
    类似地,我们可以将每一行的数据值提取到单独的rows:

    unnest(array[Sl.no, username, value3Count,salary]) AS "Values"
  3. 加入提取的列表:
    最后,我们可以加入提取的列名和数据值来重新创建转置表:

    SELECT
       "Columns",
       "Values"
    FROM transposed_table
    ORDER BY "Columns"

此查询的结果将be:

Sl.no            1       2        3       4
 Username        A       B        C       D
 Designation     XYZ     RTS      QWE     HGD
 Salary          10000   50000    20000   34343

此转置表现在将员工信息按行排列,原始列名称作为第一列。这种格式可以更方便地进行某些操作,例如数据可视化或比较不同类别的员工属性。

以上是如何在 PostgreSQL 中转置表:将列转换为行?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn