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

请求修正SQL查询:查找因同一主诊断多次入院的患者

问题排查与修正

原代码存在的问题

  • 自连接未排除同一条入院记录的匹配:当ad1和ad2指向同一条记录时,也会满足连接条件,导致统计结果虚高,甚至会把只入院一次的患者误判为多次。
  • GROUP BY与SELECT字段不匹配:仅按patient_id分组,但SELECT中包含primary_diagnosis,这在严格SQL模式下会报错,且逻辑上无法保证每个患者对应唯一的主诊断(患者可能有多个不同主诊断的多次入院)。
  • 冗余的DISTINCT:自连接本身会产生大量重复行,后续的GROUP BY和DISTINCT组合使用逻辑混乱,无法准确过滤目标数据。

修正后的SQL代码

SELECT patient_id, primary_diagnosis
FROM admissions
GROUP BY patient_id, primary_diagnosis
HAVING COUNT(*) > 1;

逻辑说明

  1. 直接按patient_id和primary_diagnosis组合分组,确保每组代表同一患者的同一主诊断的所有入院记录。
  2. 使用COUNT(*) > 1筛选出分组内记录数大于1的结果,即该患者因该主诊断多次入院的情况。
  3. 无需自连接,逻辑简洁高效,避免了重复行和统计错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 19:46:16