我有一张表"关键字"看起来像:
keyword_id | domain_id | keyword
1 | 15 | some_word
2 | 29 | aaa
3 | 15 | bbb
......等等。
我希望有一个mysql查询,如果count(domain_id)大于100,则选择所有" keyword_id" s。简单来说,如果某个domain_id(让15说)有更多超过"关键字"中的100条记录表,我想获取此域的所有keyword_id记录。
在搜索此网站以寻找类似问题之后,我决定使用这个:
SELECT keyword_id FROM `keywords` HAVING COUNT(domain_id) > 100
但它不起作用。此查询只返回表中的所有行。
答案 0 :(得分:4)
按domain_id
Select keyword_id from `keywords` where domain_id in(
SELECT domain_id
FROM `keywords`
GROUP BY domain_id
HAVING COUNT(domain_id) > 100);
答案 1 :(得分:3)
您只需要一个group by
:
SELECT keyword_id
FROM `keywords`
GROUP BY keyword_id
HAVING COUNT(domain_id) > 100;