1.group by rollup(a,b,c) --group by (a,b,c), group by (a,b), group by (a), group by () 的集合
2.group by cube(a,b,c) --group by (a,b,c),
group by (a,b), group by (a,c), group by (b,c),
group by (a), group by (b), group by(c)
group by () 的集合
3.group by grouping sets(a,b,c) --group by (a), group by (b), group by (c) 的集合
其中,group by ()为对全表做汇总操作。
4.grouping() --GROUPING 表示GROUP BY 列表中的表达式是否参与分组,返回1 表示不参与分组,返回0 表示参与分组 。对普通GROUP BY表达式 ,GROUPING 返回0。
ROLLUP在数据统计和报表生成过程中带来极大的便利,而且效率比起来Group By + Union组合方法效率高得多。这也体现了Oracle在SQL统计分析上人性化、自动化、高效率的特点。