ROLLUP, CUBE에 의해 산출된 통계 결과에서
GROUPING의 인자로 들어가는 컬럼의 값이 NULL일 경우 1, NULL이 아닐 경우 0으로 표기된다.
[예제]
1 2 3 4 5 |
SELECT GROUPING(분류) , 분류, SUM(개수) AS '개수', SUM(금액) AS '금액' FROM A GROUP BY 분류 WITH ROLLUP |
![]() |
위의 예제와 같이 분류 컬럼의 값이 NULL일 경우 GROUPING의 값은 1로 나온다
따라서 ROLLUP, CUBE로 합계를 낼 경우
GROUPING을 통해 NULL로 나온 결과의 값을 '합계'라는 텍스트로 변경해줄 경우 사용할 수 있다.
1 2 3 4 5 6 |
SELECT CASE WHEN GROUPING(분류) = '1' THEN '합계' ELSE 분류 END AS '분류' , SUM(개수) AS '개수', SUM(금액) AS '금액' FROM A GROUP BY 분류 WITH ROLLUP |
![]() |
'쵸코코딩 > DB' 카테고리의 다른 글
MSSQL - 중복ROW 출력 (0) | 2020.06.19 |
---|---|
MSSQL - COUNT() - GROUP BY 없이 Count (0) | 2020.06.19 |
MSSQL - ROW_NUMBER() - ORDER BY 정렬 없이 순번 부여 (0) | 2020.06.19 |
MSSQL - ROLLUP / CUBE (0) | 2020.06.19 |
MSSQL - COALESCE()-ISNULL() 축약 (0) | 2020.06.19 |