LC 速查

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);

数据表:MovieRating,Users,Movies · 关键字:分别找出 2020 年 2 月评分次数最多的用户和该月平均分最高的电影(并列取字典序小的),两列结果纵向拼接

← 上一题 换座位餐馆营业额变动增长 下一题 →