최대 1 분 소요

문제 링크

정답

WITH MRtitle AS (
    SELECT 
        M.title results
    FROM MovieRating MR
    JOIN Movies M
    ON MR.movie_id = M.movie_id
    WHERE MR.created_at BETWEEN '2020-02-01' AND '2020-02-28'
    GROUP BY MR.movie_id
    ORDER BY AVG(MR.rating) DESC, M.title ASC
    LIMIT 1
), GreatestUser AS (
    SELECT U.name results
    FROM MovieRating MR
    JOIN Users U
    ON MR.user_id = U.user_id
    GROUP BY MR.user_id
    ORDER BY COUNT(MR.movie_id) DESC, U.name
    LIMIT 1
)

SELECT * FROM MRtitle
UNION ALL SELECT * FROM GreatestUser

✅ Point

  • 조건 1: 영화 평가를 가장 많이 한 사람 && 이름 사전순 정렬 시 1번 user name
  • 조건 2: 2020 2월에 평가된 영화 중 가장 높은 평점 && 영화 이름 사전 순 정렬 시 1번 movie name
  • 조건 1 UNION ALL 조건 2