sql - 如何使用sql代码计算流行度
问题描述
我正在尝试计算 sql 中的流行度。有点卡在编写代码上。我想制作自动代码。
我检查了我有 1453477 的样本大小,并且使用计数的人数是 851451。患病率的计算公式为患病人数/样本数。
select (COUNT(condition_id)/COUNT(person_id)) as prevalence
from disease
where condition_id=12345;
当我运行上面的代码时,我得到 1 作为输出,我想得到 0.5858。
有人可以帮我吗?谢谢!
解决方案
你可以通过
count(...)/count(...)::numeric(6,4)
或者
count(...)/count(...)::decimal
作为两个选项。
重要的一点是适用于denominator
或numerator
部分(在这种情况下denominator
),不要适用于除法
(count(...)/count(...))::numeric(6,4)
这再次产生一个整数。
推荐阅读
- web-services - 获取 java.net.SocketException:权限被拒绝:更新到 Katalon 5.9.0 后连接
- android - 活动和线程通信
- proxy - 在 ansible playbook 中动态设置 HTTP_PROXY
- django - 在 WebApp 中显示的 django 中从 SQlite 添加数字
- windows - PowerShell 在 Windows Temp 中创建随机 ps1 脚本
- c# - 尝试将文本文件转换为 Excel
- google-cloud-platform - Publishing PermissionDenied desc = 用户无权执行此操作。谷歌云发布订阅
- python - TurboGear 框架 python 3.7 不起作用快速入门
- haskell - 通过 TemplateHaskell 的 sizeof、offsetof 和对齐
- javascript - npm run storybook 在新的反应项目上失败