数据仓库汇总和分组集,使用哪个?

Data warehouse rollup and grouping sets, which to use?

我已经学习了汇总集、立方体集和分组集,但让我感到困惑的一件事是我怎么知道该使用哪个。例如,如果我需要按区域和经理查找 2006 年每个月的销售额,则两个查询如下

SELECT month, region, sales_mgr, SUM(price)
FROM Sales
WHERE year = 1996
GROUP BY GROUPING SETS((month, region),(month, sales_mgr)) 

SELECT month, region, sales_mgr, SUM(price)
FROM Sales
WHERE year = 1996
GROUP BY ROLLUP(month, region, sales_mgr)

我知道每一个的结果,但我不知道该用哪个来正确回答问题,是不是我漏掉了什么或者都被认为是正确的?

ROLLUPCUBE 只是 shorthand GROUPING SETS.

的两种常见用法

GROUPING SETS 可以更精确地控制要计算的聚合。