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

如何在SQL中统计New_table表中去重后的患者ID总数

问题梳理

现有数据表New_table,包含subj、pred、obj三个字段:

  • pred为字符串类型属性标识,当取值为Patient时,同行obj字段存储内容为患者ID
  • 其余pred取值对应obj存储其他属性内容
    表样例数据如下:
subjpredobj
Subject1Patient11452
Subject1instituteBWE
Subject1Patient11462

需求为统计全表不重复的患者ID总数量,原有SQL存在两处错误:

  • 未添加筛选逻辑,非患者ID的记录被纳入统计范围
  • 去重计数字段错误,统计的是pred字段的去重值,而非存储患者ID的obj字段
正确实现方案

通过WHERE子句先筛选pred值为Patient的记录,再对obj字段的患者ID做去重计数,SQL语句如下:

SELECT COUNT(DISTINCT obj) AS number
FROM New_table
WHERE pred = 'Patient';
逻辑说明
  • WHERE pred = 'Patient':过滤所有非患者ID的记录,仅保留有效患者ID行
  • COUNT(DISTINCT obj):对筛选后的obj列去重后计数,避免重复患者ID导致统计结果失真
  • 基于给出的样例数据执行该语句,返回结果为2,与实际不重复患者ID数量匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 17:51:28