掌握 PostgreSQL 中的数据透视表以进行多维数据分析
PostgreSQL 提供了通过数据透视表汇总和分析多维数据的强大功能。 该技术将复杂的数据集转换为易于理解的格式,揭示有价值的见解。
让我们用一个包含“邻居”、“卧室”和“价格”等列的“列表”表来说明。 要确定按社区分类的每间卧室的平均价格,请按照以下步骤操作:
计算平均价格:
使用 AVG()
聚合函数来计算街区和卧室数量的每个独特组合的平均价格:
<code class="language-sql">SELECT neighborhood, bedrooms, AVG(price) FROM listings GROUP BY 1, 2 ORDER BY 1, 2;</code>
使用交叉表转换数据:
利用 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中文网其他相关文章!