首页 > 数据库 > mysql教程 > 如何在 PostgreSQL 中创建数据透视表来汇总多维数据?

如何在 PostgreSQL 中创建数据透视表来汇总多维数据?

Linda Hamilton
发布: 2025-01-13 07:38:43
原创
983 人浏览过

How to Create Pivot Tables in PostgreSQL to Summarize Multidimensional Data?

掌握 PostgreSQL 中的数据透视表以进行多维数据分析

PostgreSQL 提供了通过数据透视表汇总和分析多维数据的强大功能。 该技术将复杂的数据集转换为易于理解的格式,揭示有价值的见解。

让我们用一个包含“邻居”、“卧室”和“价格”等列的“列表”表来说明。 要确定按社区分类的每间卧室的平均价格,请按照以下步骤操作:

  1. 计算平均价格:

    使用 AVG() 聚合函数来计算街区和卧室数量的每个独特组合的平均价格:

    <code class="language-sql">SELECT neighborhood, bedrooms, AVG(price)
    FROM listings
    GROUP BY 1, 2
    ORDER BY 1, 2;</code>
    登录后复制
  2. 使用交叉表转换数据:

    利用 crosstab() 功能(需要安装 tablefunc 扩展)。此函数对数据进行透视,将街区设置为行,将卧室数设置为列:

    <code class="language-sql">SELECT *
    FROM crosstab(
       'SELECT neighborhood, bedrooms, AVG(price)::INT
        FROM listings
        GROUP BY 1, 2
        ORDER BY 1, 2;'
       , $$SELECT UNNEST('{0,1,2,3}'::INT[])$$
    ) AS ct ("neighborhood" TEXT, "0" INT, "1" INT, "2" INT, "3" INT);</code>
    登录后复制

这些步骤有效地生成 PostgreSQL 数据透视表,促进数据驱动的决策并更深入地了解您的数据。

以上是如何在 PostgreSQL 中创建数据透视表来汇总多维数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

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