연도별로 개봉한 영화 편수를 구하므로 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;

    실행결과

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