영화 유형인 movie_type 칼럼을 GROUP BY 절과 SELECT 절에 명시하고 최대, 최소, 전체 매출액은 각각 sale_amt 칼럼을 MAX(), MIN(), SUM() 함수의 매개변수로 넘겨 구합니다. 그리고 2019년 개봉 영화만 조회하므로 WHERE 절에 조회 조건으로 추가합니다. ORDER BY 절에 1을 명시했으므로 첫 번째 칼럼, 즉 movie_type 칼럼을 기준으로 정렬합니다.
결과를 보면 장편 영화의 매출이 가장 많습니다. 일부 영화는 movie_type 칼럼에 값이 들어 있지 않아서 NULL로 조회됐네요.
2019년 개봉 영화 중 매출액이 1억 원 이상인 영화의 분기별, 배급사별 개봉 영화 수와 매출액 집계하기
2019년 개봉 영화와 매출액이 1억 원 이상이라는 2개의 조건이 있으므로 일단 조건을 WHERE 절에 기술합니다. 그리고 분기별, 배급사별로 집계해야 하므로 둘을 GROUP BY 절에 넣으면 되겠죠. 분기는 release_date 칼럼에, 배급사는 distributor 칼럼에 정보가 있습니다. 그럼 쿼리를 작성해 볼까요?
코드 7-15
SELECT QUARTER(release_date) 분기, distributor 배급사,
COUNT(*) 영화편수, ROUND(SUM(sale_amt) / 100000000) 매출_억원
FROM box_office
WHERE 1 = 1
AND EXTRACT(YEAR FROM release_date) = 2019
AND distributor IS NOT NULL
AND sale_amt >= 100000000
GROUP BY QUARTER(release_date), distributor
ORDER BY 1, 2, 3;