我需要的结果是:

PatientID   Doctors
Patient1    3
Patient2    2
Patient3    1

预定的桌子是这样的
GPS Table

PatientID   DoctorID  DATE
Patient1    Doctor1   2016-02-16
Patient1    Doctor1   2016-04-08
Patient1    Doctor2   2016-06-09
Patient2    Doctor3   2017-01-02
Patient2    Doctor6   2016-12-01
Patient3    Doctor1   2016-07-12

还有更多的预订,但我只是举个例子。
另外,我需要确保,如果这个人被预约两次看医生,那就不算同一个医生了。
我现在的代码是:
select Bookings.PatientID, count(Bookings.DoctorID) as Doctors from Bookings where Bookings.DoctorID;

谢谢你的帮助!

最佳答案

使用具有不同病人和医生的温度表分组

 select Patient, count(*)
 from (
 select distinct Bookings.PatientID as Patient ,DoctorID as Doctors
 from Bookings  ) as t

 Group by Patient;

关于php - 如何计算每个患者预订了多少名医生?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37170599/

10-09 20:12