如果相关记录的数量小于数字,请选择记录

时间:2015-10-25 05:10:58

标签: mysql select

我有两个表,ArticleComments。 现在我想知道少于5条评论的文章数量。 我怎么能这样做?

文章:

id | author_id | title | cotent

评论:

id | article_id | author_id | content

编辑:原始问题大于,但现在我实际上想要小于(例如,< 5)。如果没有文章的评论记录,似乎没有列出这篇文章。

2 个答案:

答案 0 :(得分:1)

试试这个

SELECT a.id, COUNT(*) 
FROM
    articles a
    LEFT OUTER JOIN comments c ON a.id=c.article_id
GROUP BY a.id
HAVING COUNT(*) > 5

这将返回所有idarticles个评论超过5个评论及其各自的评论数

答案 1 :(得分:1)

加入两个表格以获取文章的评论,然后按文章ID对其进行分组,以了解每篇文章的评论数量。

试试这个:

select art.id,count(*) as comment_count  
from articles art 
inner join comments com on art.id=com.article_id
group by art.id
having comment_count>5

对于有评论< = 5的文章:

select art.id,count(*) as comment_count  
from articles art 
left join comments com on art.id=com.article_id
group by art.id
having comment_count<=5