您的位置:首页 > 其它

group by rollup和group by cube的用法和区别

2012-03-29 21:46 417 查看
假设有表test1,数据如下:

COL1COL2COL5
1a         10
1b         10
1c         10
1d         10
1e         10
1f         20
2a         20
2b         10
2c         10
3a         10
3b         30
4a         10
4b         10
4c         20
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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c