我有一个名为“疾病”的数据集,我想使用给定的数据集来计算某些疾病的患病率。 我有两列“ disease_id”和“ person_id”,我知道样本总数为1453477,我将使用对“ disease_id”的“ where”语句来过滤某些疾病。
据我所知,样本总数为1453477,可以说我想计算糖尿病患者的患病率,并且有851415人适用于该疾病。 所以851415/1453477 = 0.58577,但是当我在下面运行查询时,答案一直为1。
select count(disease__id) / count(person_id) as prevalence
from disease
where disease_id=12345;
我知道糖尿病的disease_id为12345,糖尿病患者为851415,因此“ count(disease_id)”应为851415,“ count(person_id)”应为1453477。
有人可以帮我吗?
答案 0 :(得分:0)
使用它。
select
cast (
(
select
count(disease__id)
from
disease
where
disease_id = 12345
) as decimal
)
) / (select count(person_id) from disease)