为什么 UNION 和 UNION ALL 在我的代码中不起作用?

问题描述 投票:0回答:1
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|

sql mysql union
1个回答
0
投票
    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;

我无法测试该查询,但你可以尝试这个。

© www.soinside.com 2019 - 2024. All rights reserved.