Welcome 微信登录

首页 / 数据库 / MySQL / Oracle命令 CUBE

Oracle基本命令:GROUP BY CUBE(字段列表);
CUBE命令根据字段列表,生成不同的排列组合,并根据每一种组合结果,生成统计汇总。
比如:GROUP BY CUBE( city, job, age );排列组合的结果如示:1)city,job,age
2)city, job
3)city
4)job, age
5)age
6)city , age
7) job所以就有7种排列组合。2)根据每一种排列组合,生成不同的统计汇总,如下:
1) group by cube(city, job ,age );
2)   group by cube(city, job);
3)  group by cube(city);
4)group by cube(job, age );
5)group by cube(age);
6)group by cube(city, age);
7)group by cube(job);举例说明:
1)先统观我们要用到的表(TABLE ):
  1. SQL> SELECT * FROM EMP ;  
  2.    
  3.      EMPNO ENAME      JOB         MGR HIREDATE          SAL DEPTNO  
  4. ---------- ---------- --------- ----- ----------- --------- ------   
  5.       7369 SMITH      CLERK      7902 1980/12/17     800.00     20  
  6.       7499 ALLEN      SALESMAN   7698 1981/2/20     1600.00     30  
  7.       7521 WARD       SALESMAN   7698 1981/2/22     1250.00     30  
  8.       7566 JONES      MANAGER    7839 1981/4/2      2975.00     20  
  9.       7654 MARTIN     SALESMAN   7698 1981/9/28     1250.00     30  
  10.       7698 BLAKE      MANAGER    7839 1981/5/1      2850.00     30  
  11.       7782 CLARK      MANAGER    7839 1981/6/9      2450.00     10  
  12.       7788 SCOTT      ANALYST    7566 1987/4/19     3000.00     20  
  13.       7839 KING       PRESIDENT       1981/11/17    5000.00     10  
  14.       7844 TURNER     SALESMAN   7698 1981/9/8      1500.00     30  
  15.       7876 ADAMS      CLERK      7788 1987/5/23     1100.00     20  
  16.       7900 JAMES      CLERK      7698 1981/12/3      950.00     30  
  17.       7902 FORD       ANALYST    7566 1981/12/3     3000.00     20  
  18.       7934 MILLER     CLERK      7782 1982/1/23     1300.00     10  
2) 根据职业(JOB)求不同职业的平均薪水(SAL):
  1. SQL> SELECT JOB, AVG(SAL) FROM EMP GROUP BY JOB ORDER BY JOB ASC ;  
  2.    
  3. JOB         AVG(SAL)  
  4. --------- ----------   
  5. ANALYST         3000  
  6. CLERK           1037.5  
  7. MANAGER         2758.33333  
  8. PRESIDENT       5000  
  9. SALESMAN        1400  
3)根据不同部门(DEPTNO),不同职业(JOB),求平均薪水(SAL):
  1. SQL> SELECT JOB, DEPTNO , AVG(SAL) FROM EMP GROUP BY JOB , DEPTNO ORDER BY JOB;  
  2.    
  3. JOB       DEPTNO   AVG(SAL)  
  4. --------- ------ ----------   
  5. ANALYST       20       3000  
  6. CLERK         10       1300  
  7. CLERK         20        950  
  8. CLERK         30        950  
  9. MANAGER       10       2450  
  10. MANAGER       20       2975  
  11. MANAGER       30       2850  
  12. PRESIDENT     10       5000  
  13. SALESMAN      30       1400  
-- 可以看到不同部门(DEPTNO:10,20,30)的平均年薪水AVG(SAL)是不一样的。
  • 1
  • 2
  • 3
  • 下一页
Oracle命令 ROLLUPOracle命令 group by having相关资讯      Oracle命令 
  • Oracle模拟MySQL的show index from  (06/28/2014 13:41:35)
  • Oracle中tnsping命令解析  (10/04/2013 10:10:52)
  • Oracle中的文件的执行命令  (02/14/2013 16:31:42)
  • Oracle工具之nid命令的使用  (01/23/2014 15:22:08)
  • Oracle使用命令移动各类文件的方法  (05/25/2013 17:13:22)
  • Oracle中imp命令详解  (10/14/2012 19:28:34)
本文评论 查看全部评论 (0)
表情: 姓名: 字数