SELECT v.*,count(*) from video v
LEFT JOIN tags t on t.video_id =v.id
where t.tag in(1,2,3)
GROUP BY v.id HAVING(COUNT(*)>=3)
常用于多对一(一对多)查询我想查 tag=1,tag=2,tag=3得数据,如果不加HAVING(COUNT(*)>=3),则tag=1得数据也能被查出,所以:其查询的结果是只有count的值大于3的时候,才是需要的结果。
SELECT v.*,count(*) from video v
LEFT JOIN tags t on t.video_id =v.id
where t.tag in(1,2,3)
GROUP BY v.id HAVING(COUNT(*)>=3)
常用于多对一(一对多)查询我想查 tag=1,tag=2,tag=3得数据,如果不加HAVING(COUNT(*)>=3),则tag=1得数据也能被查出,所以:其查询的结果是只有count的值大于3的时候,才是需要的结果。