따라서 다음과 같이 쿼리를 작성하면 좀 더 알아보기 쉽게 결과를 산출할 수 있습니다.
코드 7-21
SELECT IF(GROUPING(movie_type) = 1, '총계', movie_type) 영화유형, SUM(sale_amt) 금액
FROM box_office
WHERE YEAR(release_date) = 2019
GROUP BY movie_type WITH ROLLUP;
실행결과
코드 7-21에서는 흐름 제어 함수인 IF()로 GROUPING() 함수의 결괏값이 1이면 ‘총계’를, 아니면 movie_type 칼럼 값을 반환하게 합니다. 이렇게 하면 영화 유형의 값이 원래 NULL인 건과 WITH ROLLUP으로 추가된 건을 구분할 수 있습니다.