Подсчет уникальных значений в SQL

У меня проблемы с SQL-запросом. У меня есть две таблицы: личные и терпеливые. Персональный стол содержит информацию о лицах, а таблица лечения имеет персональный идентификатор и идентификатор пациента, который получил лечение. Мне нужно найти человека, который дал больше всего лечения различным пациентам. Я пробовал следующее:

SELECT ID , First_Name , Last_Name FROM Personal JOIN Patients_Treatments ON ID = Personal_id GROUP BY ID , First_Name , Last_Name HAVING COUNT(*) >= ALL (SELECT COUNT(Personal_id) FROM Patients_Treatments GROUP BY Personal_id) 

Проблема в том, что он дает персоналу, который дал больше всего лечения, а не тот, кто дал самые различные методы лечения различным пациентам. Спасибо за ваше время !

EDIT: нашел решение, если кому-то интересно:

 SELECT Personal.ID,First_Name,Last_Name FROM Personal,Patients_Treatments WHERE Personal.id = Patients_Treatments.Personal_id GROUP BY Personal.ID,First_Name,Last_Name HAVING COUNT(distinct Patient_ID) >= all(SELECT COUNT(distinct Patient_ID) FROM [Patients_Treatments] GROUP BY Personal_id) 

Это вернет личные (и) с самыми высокими методами лечения.

 SELECT TOP 1 WITH TIES ID , First_Name , Last_Name FROM Personal JOIN Patients_Treatments ON ID = Personal_id GROUP BY ID , First_Name , Last_Name ORDER BY COUNT(DISTINCT Patient_ID) DESC 
Давайте будем гением компьютера.