MySQL选择有计数

时间:2014-07-31 13:13:08

标签: mysql sql

我有一张表"关键字"看起来像:

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

但它不起作用。此查询只返回表中的所有行。

2 个答案:

答案 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;