mysql - 选择有 3 条或更多评论的文章

标签 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(外键)

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/

相关文章:

mysql - MySQL 脚本中包含级联更新的 While 循环

MYSQL - 仅当 LEFT JOIN 中的行不存在时才选择

sql - 未显示所有左表值的左连接

mysql - 通过在彼此内嵌套子查询来解决 MySQL 中的 61 个表 JOIN 限制

javascript - PHP 表单不向 MySQL 发送新数据

mysql - 添加外键错误

PhpMygraph - 如何从数据库 mysql 分配数组

java - 使用 c3p0 时 MySQL Hibernate 连接问题

php - MySQL 条件连接查询(WordPress 数据库)

mysql - 这两个mysql查询之间的区别?