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만 이상인 조건을 기술하면 조회됩니다.