더북(TheBook)

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인 건은 제외합니다.

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