如何计算每种注册类型的所有参与者?

时间:2018-06-24 18:34:51

标签: mysql sql database

我想拥有一张表,该表显示与会议相关的所有注册类型,每次会议的价格以及每种注册类型的已售注册数量。像这样的表:

Registration Type                  Price           Sold/capacity 
rtype1                              0.00$              2/40
rtype2                              5.00$             30/100
rtype3                              10.00$             20/50

registration_types表具有名称和价格,因此可以直接获取。

registration_types也具有列容量。

但是,每种注册类型的已售注册数量并未直接存储在任何表中。参加者表具有所有在会议中注册的参加者,如下例所示。因此,有必要对每种注册类型的所有参与者进行计数,例如,在上表中,有两个参与者以注册类型“ 1”注册,有两个参与者以注册类型“ 2”注册。

您知道查询应该如何实现此上下文吗?我不了解如何获取参与者表中每种注册类型的计数。

参与者表如下:

id     registration_id      registration_type_id      name        
1         1                        1                   Jake 
2        1                         1                   Jane
3        1                         2                   Paul
4        2                        2                    Ben  

1 个答案:

答案 0 :(得分:0)

SELECT registration_type_id,
       count(*)
       FROM participants
       GROUP BY registration_type_id;

为您提供participants中不同注册类型的数量。

但是我假设registration_id指定会议。因此,您可能希望将其扩展到

SELECT registration_id,
       registration_type_id,
       count(*)
       FROM participants
       GROUP BY registration_id,
                registration_type_id;

为您提供每种会议和注册类型的注册计数。