我想选择有 3 条或更多评论的文章。 我使用 MySQL,并且有下表及其各自的字段:
文章:art_id(主键)、art_title、art_body、art_date、art_author、art_lang
注释:com_id(主键)、com_body、com_date、com_author、com_article(外键)
MySQL 引擎:INNO_DB
关系:com_article - art_id
如何执行此查询?
最佳答案
一个简单的方法是使用 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 的“评论束”。我们还加入文章表,因为我们最终需要文章并仅选择文章的字段。希望这一点是清楚的。
这可能不是最佳解决方案,但对于相对较小的表来说应该很有效。
关于mysql - 选择有 3 条或更多评论的文章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13315950/