Oracle命令 CUBE

來源:互聯網
上載者:User

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
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.