-
GROUPING SETS: 根据不同的维度组合进行聚合,等价于将不同维度的GROUP BY结果集进行UNION ALL
-
GROUPING__ID:表示结果属于哪一个分组集合,属于虚字段
-
CUBE: 根据GROUP BY的维度的所有组合进行聚合。
-
ROLLUP: 为CUBE的子集,以最左侧的维度为主,从该维度进行层级聚合。
关于grouping sets的使用,我是参考这篇博客学习的,感觉讲的很清楚 网址链接
通俗的说,grouping sets是一种将多个group by 逻辑写在一个sql语句中的便利写法。
select
A,
B,
C,
group_id,
count(A)
from
tableName
group by --declare columns
A,
B,
C
grouping sets
(
(A,C),
(A,B),
(B,C),
(C)
)
其中grouping se