SQL 50 › 索引 › A6 Subqueries 子查询
LC 1341电影评分Movie Rating 中等
MovieRating 表记录用户对电影的评分;分别找出 2020 年 2 月评分次数最多的用户和该月平均分最高的电影(并列取字典序小的),两列结果纵向拼接。
思路 两个 GROUP BY 子查询按次数/均分排序各取一,UNION ALL 拼接。
(SELECT U.name AS results FROM MovieRating M JOIN Users U ON M.user_id = U.user_id WHERE M.created_at LIKE '2020-02%' GROUP BY U.user_id, U.name ORDER BY COUNT(*) DESC, U.name LIMIT 1) UNION ALL (SELECT Mo.title AS results FROM MovieRating M JOIN Movies Mo ON M.movie_id = Mo.movie_id WHERE M.created_at LIKE '2020-02%' GROUP BY Mo.movie_id, Mo.title ORDER BY AVG(M.rating) DESC, Mo.title LIMIT 1);