【问题标题】:Select article with 3 or more comments选择有 3 条或更多评论的文章
【发布时间】:2012-11-09 21:00:28
【问题描述】:

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

ARTICLE: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

如何执行此查询?

【问题讨论】:

    标签: mysql join


    【解决方案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
    

    简而言之,此查询将遍历所有 cmets,按文章的 id 对它们进行分组,计算每篇文章有多少 cmets,他们将只选择那些计数超过 3 的“束”。我们还加入了文章表,因为我们最终需要文章并且只选择文章的字段。希望这很清楚。

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

    【讨论】:

      猜你喜欢
      • 2020-12-20
      • 2015-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-15
      • 2016-11-10
      • 2011-05-03
      相关资源
      最近更新 更多