MYSQL统计受访者和总参与者

标签 mysql count

我有两个表,我想统计受访者和参与者总数

参与者

  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统计受访者和总参与者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18505251/

相关文章:

php - 这个登录系统安全吗

Java程序-单词统计

sql - 如何查找组的行数?

sql - 来自多个表的sql count()

mysql - 计算特定主题的两个不同表之间的喜欢和评论

arrays - Google Sheets 公式可跟踪过去 4 周内事件发生的数量

搜索后不显示数据库中的php数据

MySQL - 数据库结构,不知道该怎么做

mysql - 如何根据其他列的计算在 mysql 中创建联合列

mysql - JSF 不显示数据库中的数据