如何根据给定数据计算患病率

时间:2019-07-15 23:53:56

标签: sql postgresql

我有一个名为“疾病”的数据集,我想使用给定的数据集来计算某些疾病的患病率。 我有两列“ 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。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

使用它。

select
  cast (
    (
      select
        count(disease__id)
      from
        disease
      where
        disease_id = 12345
    ) as decimal
  )
) / (select count(person_id) from disease)