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 的话,那么此行是统计出来的,否则就是正常的数据行.

你可能感兴趣的:(oracle)