当前位置:  开发笔记 > 编程语言 > 正文

如何创建MySQL JOIN查询以仅选择一个表中的行,其中对该行的一定数量的引用存在于另一个表中?

如何解决《如何创建MySQLJOIN查询以仅选择一个表中的行,其中对该行的一定数量的引用存在于另一个表中?》经验,为你挑选了1个好方法。

我的数据库中有两个表,称为评级电影.

评分:

| 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,则不会选择它.

感谢您的帮助或建议!



1> ceejayoz..:

使用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;

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有