PostgreSQL rollup在分组查询中的应用

avatar
作者
筋斗云
阅读量:0

Rollup 是 PostgreSQL 中一种分组查询的方法,它可以对数据进行多级汇总统计

下面是一个使用 Rollup 的例子:

SELECT category, sub_category, COUNT(*) AS total_sales FROM sales_data GROUP BY ROLLUP (category, sub_category) ORDER BY category, sub_category; 

这个查询会按照 category 和 sub_category 对 sales_data 表中的数据进行分组统计,并计算每个分组的销售数量(total_sales)。ROLLUP 关键字会生成多级汇总结果,包括每个 category 的小计、每个 sub_category 的小计以及整体的总计。

查询结果类似于以下内容:

 category | sub_category | total_sales ----------+--------------+------------  Electronics | TV           |        100  Electronics | Audio        |         50  Electronics | NULL         |        150  Clothing   | Shirts       |         30  Clothing   | Pants        |         20  Clothing   | NULL         |         50  NULL       | NULL         |        200 

在这个结果中,我们可以看到每个 category 和 sub_category 的销售数量,同时还有每个 category 的小计以及整体的总计。这些信息可以帮助我们更好地分析销售数据。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!