我有两个表,Article
和Comments
。
现在我想知道少于5条评论的文章数量。
我怎么能这样做?
文章:
id | author_id | title | cotent
评论:
id | article_id | author_id | content
编辑:原始问题大于,但现在我实际上想要小于(例如,< 5)。如果没有文章的评论记录,似乎没有列出这篇文章。
答案 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
这将返回所有id
个articles
个评论超过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