쌓고 쌓다
[Oracle] GROUPING SETS 본문
GROUPING SETS?
GROUP BY절에서 그룹 조건을 여러 개 지정할 수 있다.
각 그룹 조건에 대해 GROUP BY한 결과를 UNION ALL한 결과와 일치
GROUPING SETS절 | GROUP BY절 |
GROUP BY GROUPING SETS(a, b, c) |
GROUP BY a UNION ALL GROUP BY b UNION ALL GROUP BY c |
GROUP BY GROUPING SETS(a, b, (b,c)) |
GROUP BY a UNION ALL GROUP BY b UNION ALL GROUP BY b, c |
GROUP BY GROUPING SETS(a, ROLLUP(b,c)) |
GROUP BY a UNION ALL GROUP BY ROLLUP(b, c) |
GROUP BY GROUPING SETS(a, CUBE(b,c)) |
GROUP BY a UNION ALL GROUP BY CUBE(b, c) |
EX) "(각) 학과내에서" 학년별 인원수와 태어난 연도별 인원수를 출력
SELECT deptno, grade, TO_CHAR(birthdate, 'YYYY'), COUNT(*)
FROM student
GROUP BY GROUPING SETS((deptno, grade), (deptno, TO_CHAR(birthdate, 'YYYY')));
'프로그래밍 > SQL' 카테고리의 다른 글
[Oracle] 조인(JOIN), 카티션 곱 (0) | 2022.11.01 |
---|---|
[Oracle] HAVING (0) | 2022.10.31 |
[Oracle] ROLLUP, CUBE, GROUPING (0) | 2022.10.31 |
[Oracle] GROUP BY(그룹핑), 그룹 함수 (0) | 2022.10.20 |
[Oracle] DECODE, CASE 함수 (0) | 2022.10.08 |
Comments