У меня есть входные данные, которые выглядят, как показано ниже
Person_id Age
21352471 59
22157363 51
22741394 75
22764902 27
22771872 62
Я пытаюсь вычислить частоту (количество пациентов) в каждой возрастной группе, например 0-10
, 11-20
, 21-30
et c
Может мне помочь, как это можно сделать?
Я пробовал что-то вроде ниже, ссылаясь в Интернете, но это не помогло
select
person_id,
count(*) filter (where age<=10) as "0-10",
count(*) filter (where age>10 and age<=20) as "11-20",
count(*) filter (where age>20) as "21-30"
from
age_table
group by
person_id;
Я ожидаю, что мои результаты будут такими, как показано ниже
Age_group freq
0-10 0
11-20 0
21-30 1
31-40 0
41-50 0
51-60 2
61-70 1
71-80 1