select name as results
from Users u
RIGHT JOIN MovieRating r on r.user_id = u.user_id
group by r.user_id
order by count(*) desc, name
limit 1
UNION ALL
select title as results
from Movies m
RIGHT JOIN MovieRating r on r.movie_id = m.movie_id
where created_at<'2020-03-01'
group by r.movie_id
order by avg(rating )desc, m.title asc
limit 1
我正在尝试通过采用 MovieRating 中评论最多的人名和二月份评分最高的电影标题来创建结果表,因此结果表必须如下所示
|结果|
|丹尼尔 |
|冰雪奇缘2|
SELECT results FROM (
SELECT name AS results
FROM Users u
RIGHT JOIN MovieRating r ON r.user_id = u.user_id
GROUP BY r.user_id
ORDER BY COUNT(*) DESC, name
LIMIT 1
) AS t1
UNION ALL
SELECT results FROM (
SELECT title AS results
FROM Movies m
RIGHT JOIN MovieRating r ON r.movie_id = m.movie_id
WHERE created_at < '2020-03-01'
GROUP BY r.movie_id
ORDER BY AVG(r.rating) DESC, m.title ASC
LIMIT 1
) AS t2;
我无法测试该查询,但你可以尝试这个。