我正在建立一个数据库来记录我见过的病人。
我输入不同类型的数据,包括年龄。
这就是我要做的事情:
计算患者数量,并按age <1
,<6
,6-70 and >70
这是我正在使用的代码,但这会带回所有未分类的年龄:
select Registratie.leeftijd as [Leeftijd], count(*) as [Aantal]
From Registratie
Where Registratie.opleidingsjaar = 1
Group by Registratie.leeftijd
最简单的方法是什么?
答案 0 :(得分:0)
受限于我的荷兰语(大概),我会用英语做这件事。
您可以使用switch()
:
select switch(age < 1, "< 1",
age < 6, "1-5",
age < 70, "6-69",
1=1, "70+"
) as agegrp,
count(*)
From Registratie as r
Where r.opleidingsjaar=1
Group by switch(age < 1, "< 1",
age < 6, "1-5",
age < 70, "6-69",
1=1, "70+"
)
order by min(age);