简体   繁体   English

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

[英]How to fetch all records using SQL query using JOIN command (related to Distinct)

This is my SQL Query 这是我的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

This is how my recommentions able looks like: 这就是我的建议的样子: 在此处输入图片说明

So, now ,GROUP_CONCAT(DISTINCT recommendations.recommendations_vote_average) as recommendations_vote_average If I use DISTINCT here, then it do not show vote_average of the following movies: The Matrix, Inception, Iron Man 2, Captain America: The First Avenger . 所以,现在,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 +it shows wrong vote_average of all movies (leaving first) +它显示了所有电影的vote_average错误(先离开)

If i do not use Distinct then it shows 7.5 in all records. 如果我不使用Distinct则它在所有记录中显示7.5。

How to solve this problem? 如何解决这个问题呢? Let me know, if you need more information. 如果您需要更多信息,请与我们联系。

If you need the average recommendation, you can use the AVG aggregate function: 如果需要平均建议,则可以使用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

Try This: 尝试这个:

        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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM