您的位置:首页 > 数据库 > Oracle

Oracle group by高级用法对比效果(ROLLUP、GROUPING SETS、CUBE)

2014-03-25 10:36 1126 查看
Oracle group by高级用法对比效果(ROLLUP、GROUPING SETS、CUBE),今天主要跟大家演示一下,在同一组数据的情况下,每个SQL的执行结果。

一:普通的group by



二:加上ROLLUP



三:加上CUBE



四:加上GROUPING SETS



总结如下:
ROLLUP

GROUP BY ROLLUP(A,B,C)

首先对(A,B,C)进行GROUP BY,然后对(A,B)进行GROUP BY,然后是(A)进行GROUP BY, 最后对全表进行GROUP BY操作

CUBE

GROUP BY

CUBE(A,B,C)

首先对(A,B,C)进行GROUP BY,然后依次对(A,B)、(A,C)、(A)、(B,C)、(B)、(C)进行GROUP BY,最后对全表进行GROUP BY操作。

GROUPING SETS

GROUP BY

GROUPING SETS(A,B,C)

依次对(C)、(B)、(A)进行GROUP BY。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: