group by rollup和group by cube的用法和区别
2012-03-29 21:46
417 查看
假设有表test1,数据如下:
group by rollup只对第一列分组汇总,例如group by rollup(col1,col2),表示先对对col1,col2分组汇总,再对col1分组汇总,最后不分组汇总(不对col2分组汇总)
select col1,col2,sum(col5) from test1 group by rollup(col1,col2) order by col1,col2;
结果如下:
group by cube对所有列分组汇总,例如group by cube(col1,col2),表示先对col1,col2分组汇总,再对col1分组汇总,再对col2分组分组汇总,最后部分在汇总
select col1,col2,sum(col5) from test1 group by cube(col1,col2) order by col1,col2;
COL1 | COL2 | COL5 |
1 | a | 10 |
1 | b | 10 |
1 | c | 10 |
1 | d | 10 |
1 | e | 10 |
1 | f | 20 |
2 | a | 20 |
2 | b | 10 |
2 | c | 10 |
3 | a | 10 |
3 | b | 30 |
4 | a | 10 |
4 | b | 10 |
4 | c | 20 |
select col1,col2,sum(col5) from test1 group by rollup(col1,col2) order by col1,col2;
结果如下:
group by cube对所有列分组汇总,例如group by cube(col1,col2),表示先对col1,col2分组汇总,再对col1分组汇总,再对col2分组分组汇总,最后部分在汇总
select col1,col2,sum(col5) from test1 group by cube(col1,col2) order by col1,col2;
相关文章推荐
- group、grouping、rollup、cube的用法和区别
- Group by RollUp&Group by CUBE&GroupBy 区别
- group by cube,rollup, grouping set的用法
- 使用group by rollup和group by cube后的辅助函数
- group by ()函数汇总之group by rollup()、group by cube()、grouping()
- oracle group by中cube和rollup字句的使用方法及区别
- Oracle group by高级用法对比效果(ROLLUP、GROUPING SETS、CUBE)
- group、grouping、rollup、cube的用法和区别
- group by后加rollup子句的用法以及与cube和grouping sets子句的区别
- Group by RollUp&Group by CUBE&GroupBy 区别
- Group By 多个分组集小结 --GROUPING SETS,GROUP BY CUBE,GROUP BY ROLLUP,GROUPING(),GROUPING_ID()
- group、grouping、rollup、cube的用法和区别(本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/junmail/archive/2006/12/26/1463132.aspx)
- group by分组函数之rollup与cube用法
- 【Spark系列2】reduceByKey和groupByKey区别与用法
- Group by all | with cube | with rollup 的3用法
- group by分组函数之rollup与cube用法
- group by cube & rollup
- reduceByKey和groupByKey区别与用法
- oracle group by rollup用法详解
- SQL GROUP BY GROUPING SETS,ROLLUP,CUBE(需求举例)