首页 > 解决方案 > 如何使用sql代码计算流行度

问题描述

我正在尝试计算 sql 中的流行度。有点卡在编写代码上。我想制作自动代码。

我检查了我有 1453477 的样本大小,并且使用计数的人数是 851451。患病率的计算公式为患病人数/样本数。

select (COUNT(condition_id)/COUNT(person_id)) as prevalence
from disease
where condition_id=12345;

当我运行上面的代码时,我得到 1 作为输出,我想得到 0.5858。

有人可以帮我吗?谢谢!

标签: sqlpostgresql

解决方案


你可以通过

count(...)/count(...)::numeric(6,4)或者

count(...)/count(...)::decimal

作为两个选项。

重要的一点是适用于denominatornumerator部分(在这种情况下denominator),不要适用于除法

(count(...)/count(...))::numeric(6,4)这再次产生一个整数。


推荐阅读