在 SQL 中查找因同一初步诊断多次入院的患者

问题描述 投票:0回答:5

需要以下 SQL 查询的帮助。
问题陈述 - 显示入院时的患者 ID、主要诊断。查找因同一主要诊断而多次入院的患者

表格 - 招生
表标题 - 患者 ID、入院日期、出院日期、主要_诊断、次要_诊断

我的代码-

SELECT Distinct ad1.patient_id, ad1.primary_diagnosis
FROM admissions ad1 join admissions ad2
ON ad1.patient_id = ad2.patient_id AND
ad1.primary_diagnosis = ad2.primary_diagnosis
Group by ad1.patient_id
having count(ad1.patient_id)>1;

我正在网上解决问题,上面的代码没有给我想要的输出。
门户网站没有说明代码有什么问题。
如果我在逻辑上犯了错误,请纠正我。

mysql sql database group-by count
5个回答
1
投票
SELECT
  ad.patient_id,
  ad.primary_diagnosis
FROM
  admissions ad
GROUP BY
  ad.patient_id,
  ad.primary_diagnosis
HAVING
  COUNT(DISTINCT ad.admission_date) > 1

0
投票

当您已经有 Group by 和having 语句时,似乎不需要编写 self join 语句。就像前面的答案所说,请确保按患者 ID 和主要诊断进行分组,因为您需要知道同一名患者被诊断出什么疾病(主要诊断)。


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

0
投票

这个查询应该有效

select 
patient_id,
primary_diagnosis 
from admissions
group by patient_id, primary_diagnosis
having count (primary_diagnosis)>1

0
投票

选择 患者 ID, 诊断 来自招生 通过...分组 患者 ID, 诊断 计数 (*) > 1

© www.soinside.com 2019 - 2024. All rights reserved.