您好我正在尝试在SQL中执行计数查询,它会告诉我附加了2个特定代码的IDS的数量。我遇到的问题是表的结构。
例如,我知道Patient_ID ZZZZZ02SDU的CPT_code为2022F和3060F,但它们都在不同的行上。
如何将所有重复的ID组合起来计算一次,并将所有附加到这些patient_id行的CPT_code也进行过滤?
答案 0 :(得分:0)
您可以使用HAVING过滤器执行此操作 - 它将在GROUP BY之后发生。
SELECT PATIENT_ID, COUNT(DISTINCT CPT_CODE)
FROM tablename
GROUP BY PATIENT_ID
HAVING COUNT(DISTINCT CPT_CODE) > 1
这将为您提供所有具有多个CPT_CODE的PATIENT_ID。
答案 1 :(得分:0)
select count(*) from (
select count(*) AS S from table group by Patient_id having count(*)=2)
group S;
由于操作系统仅询问我的计数,我首先按Patient_id对表格行进行分组,每个计数器包含2个条目,然后基本计算这些计数并将其作为最外层查询中的答案。
答案 2 :(得分:0)
如果您在SQL Server或Oracle中,则可以使用以下SQL:
WITH PatientMedicalCodes AS
(
SELECT DISTINCT Patient_ID, CPT_code
FROM table_name
)
SELECT Patient_ID, COUNT(CPT_code)
FROM PatientMedicalCodes
GROUP BY Patient_ID
HAVING COUNT(CPT_code) > 1
答案 3 :(得分:0)
不确定具体代码是否如此:
{{1}}