oracle group by 与roll up,cube,grouping sets,grouping id联合使用
Oracle的group by除了基本用法以外,还有3种扩展用法,分别是rollup、cube、grouping sets。 1 rollup 假设有一个表test,有A、B、C、D、E5列。 如果使用group by rollup(A,B,C),首先会对(A、B、C)进行GROUP BY,然后对(A、B)进行GROUP BY,然后是(A)进行GROUP BY,最后对全表进行GROUP BY操作。roll up的意思是“卷起”,这也可以帮助我们理解group by rollup就是对选择的列从右到左以一次少一列的方式进行grouping直到所有列都去掉后的grouping(也就是全表grouping),对于n个参数的rollup,有n+1次的grouping。以下2个sql的结果集是