牛骨文教育服务平台(让学习变的简单)
博文笔记

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

创建时间:2014-03-25 投稿人: 浏览次数:4042

        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。


      

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。