더북(TheBook)

3 정답

SELECT rep_country, SUM(audience_num)
  FROM box_office
 WHERE YEAR(release_date) = 2019
 GROUP BY rep_country WITH ROLLUP
HAVING SUM(audience_num) >= 500000;

실행결과

해설 2번과 마찬가지로 WHERE 절에 YEAR() 함수의 매개변수로 개봉일 칼럼인 release_date를 사용한 조건을 넣습니다. 국가별 관객수를 구하는데, 국가는 rep_country, 관객수는 audience_num 칼럼에 있습니다. 따라서 GROUP BY 절과 SELECT 절에 rep_country를 명시하고, SUM() 함수의 매개변수로 audience_num을 사용합니다. 전체 국가에 대한 관객수 합계도 구해야 하므로 GROUP BY 절 맨 끝에 WITH ROLLUP을 명시합니다. 마지막으로 국가별 관객수가 50만 명 이상인 건은 HAVING 절에 SUM() 함수의 반환값이 50만 이상인 조건을 기술하면 조회됩니다.

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