这是我的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(DISTINCT recommendations.recommendations_vote_average) as recommendations_vote_average
如果我在这里使用DISTINCT
,那么就不会显示以下电影的vote_average:The Matrix, Inception, Iron Man 2, Captain America: The First Avenger
。 +它显示所有电影的错误vote_average
(先离开)
如果我不使用Distinct
,则在所有记录中显示7.5。
如何解决这个问题?如果您需要更多信息,请与我们联系。
答案 0 :(得分:0)
如果您需要平均建议,可以使用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
答案 1 :(得分:0)
试试这个:
SELECT tmdb_movies.movie_title,
GROUP_CONCAT(recommendations.recommendations_vote_average)
as recommendations_vote_average
FROM tmdb_movies
LEFT JOIN (select * from recommendations group by recommendations_vote_average)
recommendations
ON recommendations.recommendations_tmdb_id=tmdb_movies.tmdb_id
Where tmdb_movies.tmdb_id=155
GROUP BY tmdb_movies.movie_title