You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用SQL统计患有疾病A或B的唯一患者ID去重后总数量

患者疾病去重统计实现方案

核心需求确认

  • 待统计表包含4个字段:ID_patients(患者ID)、Code、title/name of disease(疾病名称)、value
  • 统计目标:患有疾病A或B的唯一患者总数量,同一患者同时确诊A、B两种疾病仅计数1次

可直接运行的SQL实现

使用COUNT(DISTINCT)语法即可一步完成去重统计,无需复杂子查询:

SELECT COUNT(DISTINCT ID_patients) AS 符合条件的唯一患者总数
FROM 替换为你的实际表名
WHERE `title/name of disease` IN ('A', 'B');

逻辑说明

  • WHERE子句先筛选出所有疾病为A或B的记录,缩小统计范围
  • COUNT(DISTINCT ID_patients)会对筛选出的记录中的患者ID自动去重,即使同一患者同时存在A、B两条确诊记录,也只会被统计1次,完全匹配需求
  • 如果你是通过Code字段判断疾病类型,把WHERE子句中的字段替换为Code、对应值调整为A、B的编码即可

常见错误原因说明

之前统计结果不符合预期,大概率是这两种情况:

  1. 仅使用COUNT(ID_patients)不加DISTINCT,会统计所有符合条件的记录数,重复计数同时患两种病的患者
  2. 加入了按疾病名称/患者ID的GROUP BY分组逻辑,会返回分维度的统计值,无法直接得到总去重人数

内容的提问来源于stack exchange,提问作者CRG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 04:45:03