请你编写一组 SQL 查询:
查找评论电影数量最多的用户名。
如果出现平局,返回字典序较小的用户名。
查找在 2020 年 2 月 平均评分最高 的电影名称。
如果出现平局,返回字典序较小的电影名称。
题意就是查找两个结果,然后都用result显示即可,那么我们想到用UNION。
第一部分 查找评论电影数量最多的用户名
SELECT u.name AS results
FROM Movie_Rating AS m
INNER JOIN Users AS u
ON u.user_id = m.user_id
GROUP BY m.user_id
ORDER BY COUNT(m.user_id) DESC, u.name
LIMIT 1
即联结用户和评分表,找出评论数量最多的name即可
SELECT title AS results
FROM Movies
INNER JOIN
(
SELECT m.movie_id
FROM Movie_Rating AS m
INNER JOIN Movies AS m_1
ON m_1.movie_id = m.movie_id
WHERE created_at BETWEEN '2020-02-01' AND '2020-02-29'
GROUP BY m.movie_id
ORDER BY AVG(rating) DESC, title
LIMIT 1
) AS temp_1
ON temp_1.movie_id = Movies.movie_id
找到电影平均评分最高的电影名称
SELECT m_1.title AS results
FROM Movie_Rating AS m
INNER JOIN Movies AS m_1
ON m_1.movie_id = m.movie_id
WHERE created_at BETWEEN '2020-02-01' AND '2020-02-29'
GROUP BY m.movie_id
ORDER BY AVG(rating) DESC, title
LIMIT 1