1

我的查询:

with cte as (
        select client_id,COUNT(patient_id) PatientCount from
        (
            select client_id,patient_id
            from F_ACCESSION_DAILY
            group by CLIENT_ID,PATIENT_ID
            having COUNT(ACCESSION_ID)=2
        ) a
        group by CLIENT_ID
)

有效,但对我来说不是那么有用。因为虽然我可以轻松地加入这个查询,但实际上WITH我需要多次重复这个语句,因为我需要能够区分:

having count(Accession_id)=2

having count(Accession_id)=3

having count(accession_id)=4

以此类推,直到大约 100

我正在考虑做更多这样的事情:

select distinct client_id, patient_id, count(*) over (partition by client_id, patient_id,accession_id) patientcount
    from f_accession_daily

但我被困住了!

我想知道您是否可以为我指出正确的方向,即当有 count(Accession)=许多不同的值时如何将初始查询转换为更有用的东西?

非常感谢您的指导。

4

1 回答 1

1

就像是...?

   select client_id,accessioncount,COUNT(patient_id) PatientCount from 
    ( 
        select client_id,patient_id, count(accession_id) as accessioncount
        from F_ACCESSION_DAILY 
        group by CLIENT_ID,PATIENT_ID 
    ) a 
    group by CLIENT_ID,accessioncount
于 2012-10-19T07:58:10.210 回答