Oracle PL/SQL之GROUP BY CUBE
ROLLUP會根據GROUP BY後面的欄位從右到左逐步以去掉右邊一個欄位,逐步向上累計求和,
CUBE則會對GROUP BY後面的欄位所有的組合進行分組求和。
CUBE eg1:
SELECT department_id, job_id, SUM (salary)
FROM employees
WHERE department_id < 60
GROUP BY CUBE (job_id, department_id);
DEPARTMENT_ID JOB_ID SUM(SALARY)
------------- ---------- -----------
211200
10 4400
20 19000
30 24900
40 6500
50 156400
HR_REP 6500
40 HR_REP 6500
MK_MAN 13000
20 MK_MAN 13000
MK_REP 6000
20 MK_REP 6000
PU_MAN 11000
30 PU_MAN 11000
ST_MAN 36400
50 ST_MAN 36400
AD_ASST 4400
10 AD_ASST 4400
PU_CLERK 13900
30 PU_CLERK 13900
SH_CLERK 64300
DEPARTMENT_ID JOB_ID SUM(SALARY)
------------- ---------- -----------
50 SH_CLERK 64300
ST_CLERK 55700
50 ST_CLERK 55700
24 rows selected.
CUBE eg2:
SELECT department_id, job_id, SUM (salary)
FROM employees
WHERE department_id < 60
GROUP BY CUBE (department_id, job_id);
DEPARTMENT_ID JOB_ID SUM(SALARY)
------------- ---------- -----------
211200
HR_REP 6500
MK_MAN 13000
MK_REP 6000
PU_MAN 11000
ST_MAN 36400
AD_ASST 4400
PU_CLERK 13900
SH_CLERK 64300
ST_CLERK 55700
10 4400
10 AD_ASST 4400
20 19000
20 MK_MAN 13000
20 MK_REP 6000
30 24900
30 PU_MAN 11000
30 PU_CLERK 13900
40 6500
40 HR_REP 6500
50 156400
DEPARTMENT_ID JOB_ID SUM(SALARY)
------------- ---------- -----------
50 ST_MAN 36400
50 SH_CLERK 64300
50 ST_CLERK 55700
24 rows selected.
本篇文章來源於 Linux公社網站(www.linuxidc.com) 原文連結:http://www.linuxidc.com/Linux/2011-08/40467.htm
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16860121/viewspace-713679/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle 高階分組group by cube擴充Oracle
- Oracle PL/SQL 之 函式OracleSQL函式
- ORACLE之常用FAQ:SQL&PL/SQLOracleSQL
- group by分組函式之rollup與cube用法函式
- Oracle PL/SQL之 Package介紹OracleSQLPackage
- 【CUBE】Oracle分組函式之CUBE魅力Oracle函式
- group by中cube含義解析
- Oracle Pl/SQL 之 儲存過程OracleSQL儲存過程
- Oracle之PL/SQL基礎學習OracleSQL
- Oracle PL/SQL INDICESOracleSQL
- oracle PL/SQL示例OracleSQL
- Oracle之PL/SQL基礎學習之二OracleSQL
- SQL之19深入group bySQL
- SQL之18深入group bySQL
- SQL之17深入group bySQL
- oracle group by中cube和rollup字句的使用方法及區別Oracle
- oracle pl/sql programmingOracleSQL
- Oracle PL/SQL編寫PL/SQL程式碼的注意事項OracleSQL
- Oracle PL/SQL塊簡介OracleSQL
- Oracle PL/SQL中EXCEPTION用法OracleSQLException
- PL/SQL Developer 連線 OracleSQLDeveloperOracle
- oracle INDEX BY Pl/sql陣列OracleIndexSQL陣列
- 【PL/SQL】oracle建立dblinkSQLOracle
- Oracle PL/SQL迴圈示例OracleSQL
- 【Oracle】--PL/SQL匯入Oracle sql指令碼"傻瓜教程"OracleSQL指令碼
- 【PL/SQL】向表中插入連續數字之PL/SQL方法SQL
- Oracle 的PL/SQL語言使用OracleSQL
- oracle PL/SQL中的過載OracleSQL
- Oracle PL/SQL語言基礎OracleSQL
- 【Oracle】Windows安裝pl/sql developerOracleWindowsSQLDeveloper
- oracle dbms_profiles分析pl/sqlOracleSQL
- GROUP BY中ROLLUP/CUBE/GROUPING/GROUPING SETS使用示例
- Oracle 11g系列:SQL Plus與PL/SQLOracleSQL
- Oracle PL/SQL 優化與調整 – PL/SQL Native Compilation 說明OracleSQL優化
- 使用profiler測試Oracle PL/SQL效能OracleSQL
- Oracle PL/SQL語言基礎(轉)OracleSQL
- 【SQL/PLUS】Oracle PL/SQL程式設計用set serveroutput onSQLOracle程式設計Server
- PL/SQLSQL