【发布时间】:2021-07-30 00:30:27
【问题描述】:
我想用一个查询返回3列,有多少A型血患者是患者集, 有多少B型血患者,按患者分有多少个国家。
每位患者都使用唯一的 ID 进行识别,因此我所依赖的就是患者 ID。每个州只使用州缩写和血型只是字母。
还有患者集合,集合只是一组患者集合在一起,所以就像一堆患者ID,它们也像患者ID一样是唯一的
到目前为止,我有这样的事情,我不想使用 SUM,因为这会将每个患者 ID 号加在一起,我应该使用 Count。有没有办法使用案例场景来计算?还是有更好的方法来完成我想要的?
select distinct PTID,
select count (patientID CASE WHEN bloodtype = 'A') as totalAbloodtype,
select count (patientID CASE WHEN bloodtype = 'AB') as totalABbloodtype,
select count (distinct countrycode) as totalcountriesinset
from patientsinfo
and PTID is not null
group by PTID
【问题讨论】:
-
停止使用nolock 溅出你的代码
-
你需要展示样本数据和想要的结果。
标签: sql-server group-by count case distinct