我有两个表格,我想计算受访者和参加者总数

参加者

  ID  | Name
  -------------
  1     David
  2     John
  3     Mark
  4     Jake


被访者

  ID  | event_id | participant_id
  -------------------------------
  1       1           1
  2       1           2
  3       2           3
  4       2           1
  5       2           2


结果将是这样

报告

  ID  | event_id | total_respondent |  number_of_participant
  -------------------------------------------------------
  1       1           2                     4
  2       2           3                     4


我的查询是这个

    SELECT Respondent.event_id, COUNT( Respondent.participant_id) as total_respondent
FROM  `Respondent`
INNER JOIN participant ON Respondent.participant_id= participant.id
GROUP BY Respondent.event_id


我想在查询中包括number_of_participant。查询应该是什么样子。

最佳答案

如果您想要两个事件的参与者总数都可以使用此查询

SELECT event_id,
       COUNT(participant_id)  AS total_resondents,
       (SELECT Count(*)
        FROM   participants) AS participants
FROM   respondents
GROUP  BY event_id


SQL Fiddle示例http://www.sqlfiddle.com/#!2/1334e/4/0

关于mysql - MYSQL计数响应者和总参与者,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18505251/

10-11 10:46