我想选择包含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
如何执行此查询?
答案 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个以上计数的“团”。我们也加入了文章表,因为我们最终需要文章并只选择文章的字段。希望这很清楚。
这可能不是最佳解决方案,但应该适用于相对较小的表格。