Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Compter les combinaisons au sein d'un groupe

Tu étais proche. Vous avez besoin du GROUP BY , mais vous ne voulez pas GROUP BY la colonne de durée. Au lieu de cela, vous souhaitez utiliser le SUM fonction dans le SELECT liste sur votre proc_duration colonne :

select 
   pct.patient_id,
   pct.clinic_id,
   pct.service_id,
   pct.program_id,
   pct.protocol_id,
   SUM(pct.proc_duration) AS [Total Duration]  

FROM patient_clin_tran pct
  join patient p
  on pct.patient_id = p.patient_id and pct.episode_id = p.episode_id

  join patient_custom pc
  on pct.patient_id = pc.patient_id

  join staff s
  on pct.attending_id = s.staff_id

where pc.health_home = 'Y'
group by pct.patient_id, pct.clinic_id, pct.service_id, pct.program_id, pct.protocol_id
order by pct.patient_id, pct.clinic_id, pct.service_id, pct.program_id, pct.protocol_id