SQL Query返回在表

时间:2016-09-23 02:25:22

标签: sql mysqli count

我有一个SQL表,负责存储用户标记内容的实例。这是我的表:

Flagged Content

1. instance_id
2. content_id
3. user_id`

现在我想执行一个查询,该查询返回在content_id表中至少出现3次的所有flagged content。但是,我不知道该怎么办。

3 个答案:

答案 0 :(得分:1)

SELECT content_id
FROM flagged_content
GROUP BY content_id
HAVING COUNT(*) >= 3

答案 1 :(得分:1)

您可以使用group by获取计数:

select content_id
from flagged_content fc 
group by content_id
having count(*) >= 3;

如果您想要原始记录,请使用join

select fc.*
from flagged_content fc join
     (select content_id
      from flagged_content fc 
      group by content_id
      having count(*) >= 3
     ) c
     on fc.content_id = c.content_id;

答案 2 :(得分:0)

SELECT content_id 来自flagged_content GROUP BY content_id HAVING count(instance_id)> 3;

或将instance_id替换为主键/非空列。 (不确定count(*)是否适用于所有RDBMS)