PostgreSQL中的ROLLUP在聚合查詢中主要用于對多個分組進(jìn)行匯總計算
假設(shè)我們有一個名為sales的表,其中包含以下字段:region(地區(qū))、city(城市)和amount(銷售額)?,F(xiàn)在我們想要查詢每個地區(qū)、城市以及整體的銷售額。可以使用以下查詢實現(xiàn):
SELECT region, city, SUM(amount) as total_amount
FROM sales
GROUP BY ROLLUP(region, city);
這將返回以下結(jié)果:
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
在這個例子中,我們可以看到每個地區(qū)、城市以及整體的銷售額。通過使用ROLLUP,我們可以方便地對多個分組進(jìn)行匯總計算,而無需編寫多個查詢或使用UNION來合并結(jié)果。