mysql - 如何使用JOIN命令使用SQL查询获取所有记录(与Distinct相关)

标签 mysql

这是我的 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

这就是我的推荐的样子:enter image description here

所以,现在,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/

相关文章:

php - 在mysql中创建一个单独的统计计数器表?

mysql - 使用标签在数据库中存储文本

php - 关联数据库中的2个表

php - Kohana添加函数返回省份名称

SQL(Mysql)命令问题

Java MySQL preparedStatement 批处理

PHP Json_encode - MySQL 特定列上没有 json 数据

php - 什么是更快的平面文件或 MySQL RAM 数据库?

sql - 如何使用 Select Query 比较数据库列中逗号分隔值之间的单个值?

mysql - 在没有安装 MySQL 的情况下从 VBA 连接到 MySQL 数据库