더북(TheBook)

따라서 다음과 같이 쿼리를 작성하면 좀 더 알아보기 쉽게 결과를 산출할 수 있습니다.

코드 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으로 추가된 건을 구분할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.