我的数据库中有两个表,称为评级和电影.
评分:
| id | movie_id | rating |
电影:
| id | title |
典型的电影记录可能是这样的:
| 4 | Cloverfield (2008) |
并且可能有几个Cloverfield的评级记录,如下所示:
| 21 | 4 | 3 |
(评分号码21,电影号码4,评分为3)
| 22 | 4 | 2 |
(评分号码22,电影号码4,评分为2)
| 23 | 4 | 5 |
(电影号码4的评分号码为23k,评分为5)
问题:
如何创建JOIN查询以仅选择影视表x
中在评级表中具有多个评级数的行?例如,在上面的示例中,如果Cloverfield在评级表中只有一个评级且x
为2,则不会选择它.
感谢您的帮助或建议!
使用HAVING子句.这些方面的东西:
SELECT movies.id, movies.title, COUNT(ratings.id) AS num_ratings FROM movies LEFT JOIN ratings ON ratings.movie_id=movies.id GROUP BY movies.id HAVING num_ratings > 5;