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來合并結果。