SQL
[MSSQL] 다중 GROUP 지정 GROUP BY GROUPING SETS
알 수 없는 사용자
2020. 8. 7. 15:50
SQL에서 간단한 통계를 내고자 할 때 GROUP BY 구문을 자주 사용하곤 한다. 그러나 여러번의 GROUP BY가 필요한 소계, 총계 등이 섞여 있다면 그것을 한방에 해결해 줄 구분이 바로 GROUP BY GROUPING SETS 이다. 사용법 또한 매우 간단하고 직관적이다.
작성 방법
SELECT
SEX_TP_CD,
AGG,
ym,
SUM(SAL) AS SAL_SUM
FROM EMP_MAST
GROUP BY GROUPING SETS
(
(),
(SEX_TP_CD),
(SEX_TP_CD, AGG),
(SEX_TP_CD, AGG, ym)
)
원하는 GROUP BY 조건을 GROUPING SETS 안에 괄호() 안에 나열해주면 된다. GROUP BY 조건에 따라서 명칭이 NULL이 나오는 경우는 ISNULL() 함수를 이용하여 값을 대체해주면 더욱 깔끔하게 마무리 지을 수 있다.
결과
