더북(TheBook)

결과를 보면 총 4건만 조회됐네요. 주의할 점은 금액이 영화 1편의 매출액이 아니라 해당 월에 개봉한 1~10위 영화의 매출액을 합친 금액이라는 거죠. 예를 들어, 첫 번째 로우는 2009년 12월에 1~10위 영화가 총 3편이 개봉됐는데, 3편의 매출액 합계가 대략 1,512억 원이라는 뜻입니다.

코드 7-26

SELECT MONTH(release_date) 월, movie_type 영화유형, SUM(sale_amt) 금액
  FROM box_office
 WHERE YEAR(release_date) = 2019
   AND QUARTER(release_date) = 1
   AND sale_amt > 10000000
 GROUP BY MONTH(release_date), movie_type WITH ROLLUP
HAVING GROUPING(movie_type) = 1;

실행결과

코드 7-26의 쿼리는 코드 7-18의 쿼리에 HAVING 절만 추가했습니다. 기존 쿼리는 2019년 1분기 개봉 영화 중 월별, 영화 유형별 매출액 소계가 1억 원 이상인 건을 조회하는 쿼리입니다. 여기에 HAVING 절과 GROUPING() 함수를 추가합니다. GROUPING() 함수는 WITH ROLLUP으로 계산되는 소계나 총계 로우를 식별하는 용도로 사용하죠. 따라서 HAVING GROUPING(movie_type) = 1이라는 조건은 영화 유형 칼럼을 기준으로 소계나 총계로 나온 결과 로우만 걸러 내라는 의미입니다.

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