I need the results to look like:
PatientID Doctors
Patient1 3
Patient2 2
Patient3 1
The booked table looks like this
try this :
SELECT PatientID, count(DoctorID) FROM `GPS ` group by PatientID
Use Group by over a temp table with distinct patient and doctor
select Patient, count(*)
from (
select distinct Bookings.PatientID as Patient ,DoctorID as Doctors
from Bookings ) as t
Group by Patient;
You are looking for count(distinct)
:
select b.PatientID, count(distinct b.DoctorID) as NumDoctors
from Bookings b
group by b.PatientID;
I did this and it worked:
select PatientID as Patient, count(distinct(DoctorID)) as Doctors from Bookings, Patients group by PatientID;
Thank you for the help!