单个查询以获取消息并计算其答案

时间:2011-07-25 21:33:45

标签: mysql count subquery

我有一个带有两个表的mysql DB:

  • 消息
  • message_answers

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

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

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

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

谢谢你, 塞巴斯蒂安

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:0)

select m.id, count(ma.id)
from messages m
join join message_answer ma on ma.id = m.message_id
group by 1