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