选择包含3条或更多评论的文章

时间:2012-11-09 21:00:29

标签: mysql join

我想选择包含3条或更多评论的文章。 我使用MySQL,我有以下表格及其各自的字段:

文章:art_id(主键),art_title,art_body,art_date,art_author,art_lang

评论:com_id(主键),com_body,com_date,com_author,com_article(foreign_key)

MySQL引擎:INNO_DB

关系:com_article - art_id

如何执行此查询?

1 个答案:

答案 0 :(得分:1)

一种简单的方法是使用a HAVING keyword,例如:

SELECT article.*, COUNT(comment.com_id) as comment_count
FROM comments
LEFT OUTER JOIN article ON article.art_id = comments.com_article
GROUP BY article.art_id
HAVING comment_count > 3

简单地说,这个查询将遍历所有评论,按文章的ID对它们进行分组,计算每篇文章的评论数量,并且他们只会选择那些有3个以上计数的“团”。我们也加入了文章表,因为我们最终需要文章并只选择文章的字段。希望这很清楚。

这可能不是最佳解决方案,但应该适用于相对较小的表格。