더북(TheBook)

연도별로 개봉한 영화 편수를 구하므로 OO별에 해당하는 항목이 개봉연도가 되죠. 따라서 개봉연도를 GROUP BYSELECT 절에 명시하면 됩니다. 개봉연도는 개봉일에 나와 있으므로 release_date 칼럼을 YEAR() 함수의 매개변수로 넘겨 구합니다. 다음으로 영화 편수를 구해야 하는데, box_office 테이블의 1개 로우가 한 편의 영화죠. 따라서 테이블에 총 몇 개의 로우가 있는지 집계하면 영화 편수를 구할 수 있습니다. 이때는 COUNT() 함수를 사용합니다. 그리고 개봉연도별로 내림차순 정렬해 최신 연도부터 조회합니다.

코드 7-13에서는 GROUP BY 절과 COUNT() 함수를 결합한 집계 쿼리를 작성해 원하는 데이터를 얻었습니다. 그럼 몇 가지 예시를 더 살펴볼까요?

 

2019년 개봉 영화의 유형별 최대, 최소 매출액과 전체 매출액 집계하기

영화 유형은 box_office 테이블의 movie_type 칼럼에 있고, 값으로 장편, 단편, 옴니버스가 있습니다. 그리고 매출액은 sale_amt 칼럼을 참조하면 됩니다. 영화 유형별 최대, 최소, 전체 매출액을 구하는 집계 쿼리를 작성해 봅시다.

코드 7-14

SELECT movie_type, MAX(sale_amt), MIN(sale_amt), SUM(sale_amt)
  FROM box_office
 WHERE YEAR(release_date) = 2019
 GROUP BY movie_type
 ORDER BY 1;

실행결과

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