ROLLUP & CUBE

  • ROLLUP과 CUBE는 GRUOP BY와 함께 사용이 된다

1. ROLLUP

  • ROLLUP (A, B): GROUP BY(A, B) & GROUP BY(A) & ALL
SELECT loc, yr, sum(sales)
FROM salesdata
GROUP BY ROLLUP(loc, yr);
## 결과 값
LOC                          YR SUM(SALES)
-------------------- ---------- ----------
부산                       2000        100
부산                       2001        150
부산                       2002        150
부산                                   400
서울                       2000        100
서울                       2001        200
서울                       2002        300
서울                                   600
                                      1000

2. CUBE

  • CUBE(A, B): GROUP BY(A, B) & GROUP BY(A) & GROUP BY(B) & ALL
SELECT loc, yr, sum(sales)
FROM salesdata
GROUP BY CUBE(loc, yr);
## 결과 값
LOC                          YR SUM(SALES)
-------------------- ---------- ----------
                                      1000
                           2000        200
                           2001        350
                           2002        450
부산                                   400
부산                       2000        100
부산                       2001        150
부산                       2002        150
서울                                   600
서울                       2000        100
서울                       2001        200
서울                       2002        300

3. GROUPING

  • GROUPING(expr): expr에 의해 그룹핑 된 경우만 1 반환