sql server - How to group values of one column based on condition in t-sql? -
my table has doctor id, visit id (one doctor can have several visits) , visit cause, looks this:
doctor_uid | visit_uid | visit_cause 11-11-11 22-22-11 1 22-22-22 44-44-22 2 11-11-11 23-23-23 1 i need count visits each doctor, based on visit_cause (it should equal '1'). before count visits each doctor without condition of visit_cause, must have in query too:
select v.vra_uid, count(v.visit_uid) on (partition v.vra_uid) number_of_visits visits v it returns:
doctor_uid | number_of_visits 11-11-11 2 22-22-22 1 how can count visits, have visit_cause = '1' each doctor? like:
doctor_uid | number_of_visits | visits_with_cause_equal_1 11-22-33 2 2 22-22-22 1 0 thanks in advance!
this should work:
select v.vra_uid, count(v.visit_uid) number_of_visits , sum(case when v.visit_cause = 1 1 else 0 end) visits_with_cause_equal_1 visits v group v.vra_uid
Comments
Post a Comment