0

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

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

COMMENT:com_id(主键)、com_body、com_date、com_author、com_article(外键)

MySQL 引擎:INNO_DB

关系:com_article - art_id

如何执行此查询?

4

1 回答 1

1

一种简单的方法是使用HAVING 关键字,例如:

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 的“束”。我们还加入了文章表,因为我们最终需要文章并且只选择文章的字段。希望这很清楚。

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

于 2012-11-09T21:05:38.843 回答