用于计算包含2个或更多特定主题的所有项目的SQL查询

时间:2017-12-05 18:30:23

标签: mysql sql

我不知道标题是否清除了所有内容,所以我会在这里解释一下。 所以我有一张这样的表

Project ID    Project topic
1              topic1
1              topic2
1              topic3
2              topic1
3              topic2
..              ...

我想要做的是:计算包含topic1和topic3的项目数(项目ID)。 我希望我明白这个问题。解决方案可能非常明显但不知何故我无法弄明白。 谢谢!

1 个答案:

答案 0 :(得分:-1)

SELECT COUNT(DISTINCT p1.project_id)
  FROM project p1 JOIN
       project p2 ON (p1.project_id = p2.project_id)
 WHERE p1.project_topic = 'topic1'
   AND p2.project_topic = 'topic2';

如果您想要topic1和topic3,请将topic2更改为topic3。