zoukankan      html  css  js  c++  java
  • GROUP BY ROLLUP和CUBE 用法

    ROLLUP和CUBE 用法     
          Oracle的GROUP BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句。

           如果是Group by  ROLLUP(A, B, C)的话,首先会对(A、B、C)进行GROUP BY,然后对(A、B)进行GROUP BY,然后是(A)进行GROUP BY,最后对全表进行GROUP BY操作。

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

           grouping_id()可以美化效果。除了使用GROUPING函数,还可以使用GROUPING_ID来标识GROUP BY的结果。

           也可以 Group by Rollup(A,(B,C)) ,Group by A Rollup(B,C),…… 这样任意按自己想要的形式结合统计数据,非常方便。

    Rollup():分组函数可以理解为group by的精简模式,具体分组模式如下:

      Rollup(a,b,c): (a,b,c),(a,b),(a),(全表)

    Cube():分组函数也是以group by为基础,具体分组模式如下:

      cube(a,b,c):(a,b,c),(a,b),(a,c),(b,c),(a),(b),(c),(全表)

    DROP TABLE TEST_GROUPBY 
    
    
    CREATE TABLE TEST_GROUPBY(
    ClassName          nvarchar(20),   --班级
    StudentName        nvarchar(20),   --姓名
    SubjectName        nvarchar(20),   --科目
    Scores             INT             --分数
    )
    
    DELETE FROM TEST_GROUPBY
    
    INSERT INTO TEST_GROUPBY SELECT '高一(1)班','王小贱','数学',10
    INSERT INTO TEST_GROUPBY SELECT '高一(1)班','王小贱','英语',10
    INSERT INTO TEST_GROUPBY SELECT '高一(2)班','李神瑛','英语',10
    INSERT INTO TEST_GROUPBY SELECT '高一(2)班','董昕辰','英语',10
    
    
    SELECT ClassName,StudentName,SubjectName,SUM(Scores) AS Scores 
    FROM   TEST_GROUPBY
    GROUP BY ROLLUP (ClassName,StudentName,SubjectName)
    
    SELECT ClassName,StudentName,SubjectName,SUM(Scores) AS Scores 
    FROM   TEST_GROUPBY
    GROUP BY ROLLUP (ClassName,(StudentName,SubjectName))
    
    
    SELECT ClassName,StudentName,SubjectName,SUM(Scores) AS Scores 
    FROM   TEST_GROUPBY
    GROUP BY ROLLUP ((ClassName,StudentName),SubjectName)
    
    
    SELECT ClassName,StudentName,SubjectName,SUM(Scores) AS Scores 
    FROM   TEST_GROUPBY
    GROUP BY cube (ClassName,StudentName,SubjectName)
    

      

  • 相关阅读:
    运算
    使用mysql出现错误:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column '??????' in 'field list'
    POI-HSSF and POI-XSSF
    java pio项目使用
    mysql安装及卸载
    pdf转word
    【android studio】android studio使用过程中,搜集的一些问题
    github提交失败并报错java.io.IOException: Authentication failed:
    收集的github的东西
    Material Design
  • 原文地址:https://www.cnblogs.com/DBArtist/p/5090901.html
Copyright © 2011-2022 走看看