MySQL选择有计数

Min*_* Li 0 mysql sql

我有一个表“关键字”,它看起来像:

keyword_id | domain_id | keyword
    1      |     15    | some_word
    2      |     29    | aaa
    3      |     15    | bbb
Run Code Online (Sandbox Code Playgroud)

...等等。

我想要一个 mysql 查询,如果 count(domain_id) 大于 100,它会选择所有“keyword_id”。简而言之,如果某个 domain_id(假设为 15)在“keywords”表中有超过 100 条记录,我想获取此域的所有 keyword_id 记录。

在这个网站上搜索了类似的问题后,我决定使用这个:

SELECT keyword_id FROM `keywords` HAVING COUNT(domain_id) > 100
Run Code Online (Sandbox Code Playgroud)

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

Raa*_*aab 5

将您的结果分组 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);
Run Code Online (Sandbox Code Playgroud)