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


      

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐