我有一个具有以下结构的mysql InnoDB表:
id
artist_id
那里有很多条目,大多数artist_ids都在那里15次。但有些人只在那里两次。我需要得到那些。
我想出了以下内容,但无济于事:
SELECT artist_id FROM matches HAVING COUNT(artist_id)=2
它返回0行,尽管有artist_ids只出现在表中两次。我怎么能得到它们?
答案 0 :(得分:5)
你好,
我会用这个:
SELECT artist_id,count(*) FROM matches
GROUP BY artist_id
HAVING COUNT(*)=2
因为HAVING
是结果的过滤器。
使用=2
,您会找到两次存在的那些。
答案 1 :(得分:1)
select artist_id, count(id) as num from matches group by artist_id having num = 2;