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 的小計以及整體的總計。這些信息可以幫助我們更好地分析銷售數據。