比如说,如果我有一个表,其中包含了每种设备类型和设备使用年限的设备ID,那么我怎么能计算出至少具有该设备使用年限的Count Distinct
个设备ID.
例如,假设这是我们所有的数据:
equipment_type | equipment_id | equipment_age |
---|---|---|
Screwdriver | A123 | 1 |
Screwdriver | A234 | 2 |
Screwdriver | A345 | 2 |
Screwdriver | A456 | 2 |
Screwdriver | A567 | 3 |
我希望输出为:
equipment_type | equipment_age | count_of_equipment_at_least_this_age |
---|---|---|
Screwdriver | 1 | 5 |
Screwdriver | 2 | 4 |
Screwdriver | 3 | 1 |
原因是有5把螺丝刀至少使用了1天,4把螺丝刀至少使用了2天,只有1把螺丝刀至少使用了3天.
到目前为止,我只能计算每个设备使用年限内的设备数量(如下图所示),但不能计算"至少该设备使用年限".
SELECT
equipment_type,
equipment_age,
COUNT(DISTINCT equipment_id) as count_of_equipments
FROM equipment_table
GROUP BY 1, 2