반응형
ROLLUP
- 계층별로 group by를 수행
- rollup 뒤에 컬럼이 두개이상오면, 순서에 따라 결과가 달라짐
- 예시
SELECT DEPTNO,JOB,sum(sal)
FROM table
GROUP BY ROLLUP(DEPTNO,JOB)
- 결과
GROUPING SET
- 조합별 group by 쌍을 확인한다.
- 예시
SELECT JOB,DEPTNO,count(*)
FROM table
GROUP BY GROUPING SETS(JOB,DEPTNO)
- 결과
CUBE
- 조합별, 소계 등 모든 경우의 group by 쌍을 확인한다.
- 코드예시
SELECT DEPARTMENT_ID,JOB_ID,SUM(SALARY)
FROM table
GROUP BY GROUPING CUBE(DEPARTMENT_ID,JOB_ID)
- 결과
GROUPING
- 소계, 합계 row인지 확인하기 위한 함수
- 소계, 합계인 경우 1, 그렇지않으면 0의 값을 가진다
- 코드예시
SELECT job, deptno, SUM(sal), GROUPING(job), GROUPING(DEPTNO)
FROM table
GROUP BY ROLLUP(JOB,DEPTNO)
- 결과
반응형