7.2.1 WITH ROLLUP으로 소계와 총계 구하기
항목별 소계는 물론 총계까지 같이 구하려면 GROUP BY 절 맨 끝에 WITH ROLLUP 키워드를 추가합니다. roll up은 우리말로 ‘말아(감아) 올린다’는 뜻입니다. 따라서 항목별 소계를 한데 말아서 총계를 구한다는 의미로 생각하면 됩니다. 그럼 예제를 통해 ROLLUP의 쓰임새를 살펴봅시다.
코드 7-16
SELECT movie_type 영화유형, SUM(sale_amt) 금액
FROM box_office
WHERE YEAR(release_date) = 2019
AND sale_amt > 10000000
GROUP BY movie_type
ORDER BY 1 DESC;
실행결과
코드 7-16은 2019년 개봉 영화 중 매출액이 천만 원 이상인 건을 골라 영화 유형별로 매출액의 소계를 구하는 쿼리입니다. 코드 7-14와 비슷한데, 다른 점은 천만 원 이상이라는 조건을 걸어서 영화 유형 칼럼(movie_type)의 값이 NULL인 건은 제외합니다.