mysql - 单个查询以获取消息并计算他们的答案

标签 mysql count subquery

我有一个带有两个表的 mysql 数据库:

  • 消息
  • message_answers

我想获取所有消息以及每条消息的答案数量,例如:

  • 第一条消息(10 个回答)
  • 第二条消息(5 个答案)

是否可以使用单个 sql 查询?

我尝试了一个查询和一个子查询来计算计数,但我不知道如何从主查询中获取当前 ID 来对子查询进行“WHERE”限制(例如:“message_answers.message_id = messages. id”)。

谢谢, 塞巴斯蒂安

最佳答案

SELECT m.message, COUNT(ma.answer_id) AS AnswerCount
    FROM messages m
        LEFT JOIN message_answers ma
            ON m.id = ma.message_id
    GROUP BY m.message

关于mysql - 单个查询以获取消息并计算他们的答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6822636/

相关文章:

mysql - 查询连接同表错误

php - 如何在 SQL 中管理产品选项和仓库项目之间的关系

MySql INSERT 忽略 DISTINCT 选择

wordpress - 获取wordpress中搜索结果的总数

java - 数组运行,但编译时没有给出正确的值?

mysql - 优化包含联接和子查询的查询

python - 电影时间的 MySQL 数据类型

php - Laravel 迁移 : Foreign key constraint is incorrectly formed

sql - rails : How to build statistics per day/month/year or How database agnostic SQL functions are missing (ex. : STRFTIME, DATE_FORMAT,DATE_TRUNC)

mysql - 是否可以选择 MySQL 中相似行的计数?