group by rollup函数的用法

有个表a有字段c1,c2有记录
2015-03-01    2
2015-03-01    3
2015-03-02    5
想要得到得到如下结果
2015-03-01    4
2015-03-02    5
合计          9
可以通过 select decode(grouping(c1),1,'合计',c1),sum(c2) from a group by rollup(c1)]即可得到,rollup 是用来进行分组的,rollup(c1) 这句话是,的意思是 先让 rollup(c1)进行分组统计出结果,grouping(c1)) 如果 返回值是 1 的话,那么此行是统计出来的,否则就是正常的数据行.

猜你喜欢

转载自phncz310.iteye.com/blog/2193059