我有一张 table
电影
movie_id
movie_name
language
cast
评分
id
movie_id
rating
comment
我需要获取所有电影的详细信息以及平均评分和总评分。
如果任何电影都没有评分,则平均评分和总评分计数必须为零。
为此我尝试了这个 MySQL 查询:
SELECT m.movie_id,movie_name,cast,language,AVG(rating) as average_rating,COUNT(rating) as total_rating
FROM movies m
LEFT JOIN ratings r ON m.movie_id=r.movie_id;
但此查询并未提供“电影”表中的所有电影列表。
请帮忙。谢谢。
最佳答案
将 group by
与 movie_id
结合使用,这样它会用唯一的 movie_id 区分您的结果。
SELECT m.movie_id,m.movie_name,m.cast,m.language,AVG(r.rating) as average_rating,COUNT(r.rating) as total_rating
FROM movies m
LEFT JOIN ratings r ON m.movie_id=r.movie_id
GROUP BY m.movie_id;
关于php - 从两个表中获取电影列表和评级 MySQL LEFT JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40763296/