DataBase/MySQL

[MySql] GROUP BY, max()를 활용한 문제 풀이

왈왈디 2023. 3. 25. 17:45
728x90

문제: 페이지 하단 참고자료의 SQL 키워드들과 MySQL의DQL(Data Query Language)를 사용하여, 아래 결과가 출력될 수 있는 쿼리문을 작성해주세요. 특정 배급사(Nolan Unlimited)의 영화 중 가장 높은 평점을 받은 영화의 모든 정보와 출연 배우 목록을 다음과 같은 형태로 출력해주세요.

(문제 출처: 위코드 (wecode))

 

내가 작성한 쿼리문 

SELECT 
	m.title, 
	m.rate, 
	m.open_date, 
	d.business_name, 
	JSON_ARRAYAGG(
            JSON_OBJECT(
                "name", a.name , 
                "actorId", a.id)) actor_list
FROM movies m
JOIN distributors d ON d.id = m.distributor_id
JOIN movies_actors ma ON ma.movie_id = m.id
JOIN actors a ON ma.actor_id = a.id
WHERE d.business_name = "Nolan Unlimited" 
	AND m.rate = (SELECT max(rate) FROM movies)
GROUP BY m.id;
728x90