PostgreSQL中的ROLLUP在聚合查询中主要用于对多个分组进行汇总计算
假设我们有一个名为sales的表,其中包含以下字段:region(地区)、city(城市)和amount(销售额)。现在我们想要查询每个地区、城市以及整体的销售额。可以使用以下查询实现:
SELECT region, city, SUM(amount) as total_amount FROM sales GROUP BY ROLLUP(region, city);
这将返回以下结果:
region | city | total_amount --------+------------+-------------- NULL | NULL | 10000 North | NULL | 5000 North | New York | 2000 North | Boston | 3000 South | NULL | 5000 South | Los Angeles| 2000 South | Miami | 3000
在这个例子中,我们可以看到每个地区、城市以及整体的销售额。通过使用ROLLUP,我们可以方便地对多个分组进行汇总计算,而无需编写多个查询或使用UNION来合并结果。