[Developer] Cube

tolilong發表於2016-04-12
cube(a,b)     統計列包含:group(a,b)+group(a)+group(b)+group()
cube(a,b,c)   統計列包含:(a,b,c)+group(a,b)+group(a,c)+group(b,c)+group(a)+group(b)+group(c)+group()
……以此類推ing……


cube分組級別更多,結果更精細 
SQL> edit
Wrote file afiedt.buf

  1  select b.dname,a.job,sum(sal)
  2  from emp a,dept b
  3  where a.deptno=b.deptno
  4  group by cube(b.dname,a.job)
  5* order by 1
SQL> /

DNAME                    JOB               SUM(SAL)
------------------------ --------------- ----------
ACCOUNTING               CLERK                 1300
ACCOUNTING               MANAGER               2450
ACCOUNTING               PRESIDENT             5000
ACCOUNTING                                     8750
RESEARCH                 ANALYST               6000
RESEARCH                 CLERK                 1900
RESEARCH                 MANAGER               2975
RESEARCH                                      10875
SALES                    CLERK                  950
SALES                    MANAGER               2850
SALES                    SALESMAN              5600
SALES                                          9400
                         ANALYST               6000
                         CLERK                 4150
                         MANAGER               8275
                         PRESIDENT             5000
                         SALESMAN              5600
                                              29025

18 rows selected.

部分cube,提出合計和group by job.
SQL> edit
Wrote file afiedt.buf

  1  select b.dname,a.job,sum(sal)
  2  from emp a,dept b
  3  where a.deptno=b.deptno
  4  group by b.dname,cube(a.job)
  5* order by 1
SQL> /

DNAME                    JOB               SUM(SAL)
------------------------ --------------- ----------
ACCOUNTING               CLERK                 1300
ACCOUNTING               MANAGER               2450
ACCOUNTING               PRESIDENT             5000
ACCOUNTING                                     8750
RESEARCH                 ANALYST               6000
RESEARCH                 CLERK                 1900
RESEARCH                 MANAGER               2975
RESEARCH                                      10875
SALES                    CLERK                  950
SALES                    MANAGER               2850
SALES                    SALESMAN              5600
SALES                                          9400


12 rows selected.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24237320/viewspace-2079837/,如需轉載,請註明出處,否則將追究法律責任。

相關文章