这是我的 SQL 查询
SELECT tmdb_movies.movie_title
,GROUP_CONCAT(DISTINCT recommendations.recommendations_vote_average) as recommendations_vote_average
FROM tmdb_movies
LEFT JOIN recommendations ON recommendations.recommendations_tmdb_id=tmdb_movies.tmdb_id
Where tmdb_movies.tmdb_id=155
GROUP BY tmdb_movies.movie_title
所以,现在,GROUP_CONCAT(DISTINCTRecommendations.recommendations_vote_average)作为recommendations_vote_average
如果我在这里使用 DISTINCT
,那么它不会显示以下电影的 vote_average:《黑客帝国》、《盗梦空间》、《钢铁侠 2》、《美国队长:复仇者先锋》
。 +它显示所有电影的 vote_average
错误(先离开)
如果我不使用Distinct
,那么所有记录中都会显示 7.5。
如何解决这个问题?如果您需要更多信息,请告诉我。
最佳答案
如果需要平均推荐,可以使用AVG聚合函数:
SELECT tmdb_movies.movie_title
,AVG( recommendations.recommendations_vote_average) as recommendations_vote_average
FROM tmdb_movies
LEFT JOIN recommendations ON recommendations.recommendations_tmdb_id=tmdb_movies.tmdb_id
Where tmdb_movies.tmdb_id=155
GROUP BY tmdb_movies.movie_title
关于mysql - 如何使用JOIN命令使用SQL查询获取所有记录(与Distinct相关),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44917377/