GROUPING SETS
- - GROUPING SETS 함수는 GROUP BY의 확장된 형태로 하나의 GROUP BY절에 여러개의 그룹 조건을 기술할 수 있다.
- - GROUPING SETS 함수의 결과는 각 그룹 조건에 대해 별도로 GROUP BY한 결과를 UNION ALL한 결과와 동일하다.
- - GROUPING SETS 함수를 사용하면 UNION ALL등을 사용하여 복잡하게 SQL문장을 작성했던 것을 간단하게 한 문장으로 해결 할 수 있다.
아래는 GROUPING SETS함수와 GROUP BY, UNION ALL을 이용하여 동일한 결과를 출력하는 예제이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | -- GROUPING SETS 예제 SELECT deptno, job, SUM (sal) FROM emp GROUP BY GROUPING SETS(deptno, job); -- GROUP BY와 UNION ALL을 이용한 예제 SELECT NULL deptno, job, SUM (sal) FROM emp GROUP BY job UNION ALL SELECT deptno, NULL job, SUM (sal) FROM emp GROUP BY deptno; -- 조회결과 DEPTNO JOB SUM (SAL) --------- ------------------ ---------- CLERK 4150 SALESMAN 5600 PRESIDENT 5000 MANAGER 8275 ANALYST 6000 30 9400 20 10875 10 8750 |
분석:순서대로 보기 바란다.
-- GROUPING SETS 예제
SELECT
deptno, job,
SUM
(sal)
FROM
emp
GROUP
BY
GROUPING
SETS(deptno, job); //1번 이것도 오른쪽우선으로 그룹이묶인결과가 출력이 된다. JOB 그룹별 월급의합 결과 그담 부서별 그룹의 월급의 합
태그
문서에 대하여
- - 강좌 URL : http://www.gurubee.net/lecture/2680
- - 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- - 구루비의 모든 강좌는 크리에이티브 커먼즈의 저작자표시-비영리-동일조건변경허락(BY-NC-SA) 라이선스에 따라 자유롭게 사용할 수 있습니다.
'Oracle' 카테고리의 다른 글
계층구조 쿼리의 활용 (0) | 2014.12.03 |
---|---|
오라클 계층구조 쿼리 (0) | 2014.12.03 |
CUBE GROUP BY CUBE (0) | 2014.12.03 |
GROUPING과 GROUPING_ID (0) | 2014.12.03 |
Rollup (0) | 2014.12.03 |