Let's say if I have a table that contains Equipment IDs of equipments for each Equipment Type and Equipment Age, how can I do a Count Distinct of Equipment IDs that have at least that Equipment Age.
For example, let's say this is all the data we have:
| equipment_type | equipment_id | equipment_age |
|---|---|---|
| Screwdriver | A123 | 1 |
| Screwdriver | A234 | 2 |
| Screwdriver | A345 | 2 |
| Screwdriver | A456 | 2 |
| Screwdriver | A567 | 3 |
I would like the output to be:
| equipment_type | equipment_age | count_of_equipment_at_least_this_age |
|---|---|---|
| Screwdriver | 1 | 5 |
| Screwdriver | 2 | 4 |
| Screwdriver | 3 | 1 |
Reason is there are 5 screwdrivers that are at least 1 day old, 4 screwdrivers at least 2 days old and only 1 screwdriver at least 3 days old.
So far I was only able to do count of equipments that falls within each equipment_age (like this query shown below), but not "at least that equipment_age".
SELECT
equipment_type,
equipment_age,
COUNT(DISTINCT equipment_id) as count_of_equipments
FROM equipment_table
GROUP BY 1, 2
