Можете ли вы помочь с запросом?Может быть, это дублируется, я понимаю, но мне нужна ваша помощь, чтобы решить эту проблему.
Моя схема:

У меня есть эти самые таблицы:
doctors
id name profession
1 James Harden dental
2 James Jones therapist
3 LeBron James cardiologist
4 Kobe Braynt surgeon
5 Sabrina Williams nurse
6 Tyler Okonma speech therapist
7 John Snow pediatrician
patients
id name diagnostic
1 Mo Bamba tooth pulling out
2 Kaney West astma
3 Post Malone heart attack
4 Denzel Curry headache
5 Nicola Jokic stomac-ache
6 Dwayne Wade AIDS
7 Boo Aby headahce
visits
doctorId patientId visitDate
1 1 2019-03-09
2 4 2019-03-01
2 5 2019-02-26
2 6 2019-02-05
3 3 2019-02-13
4 2 2019-03-07
7 1 2019-02-14
7 7 2019-02-15
Мне нужнораспечатать врачей, обслуживающих наибольшее число пациентов за предыдущий месяц.
Мой запрос:
select doctorid, count(distinct patientid) as counter
from visits v
where visitdate >= (curdate() - interval day(visitdate) - 1 day) - interval 1 month and
visitdate < curdate() - interval day(visitdate) - 1 day
group by doctorid
having count(distinct patientid) = (select count(distinct v2.patientid) as cnt
from visits v2
where v2.visitdate >= ((curdate() - interval day(v2.visitdate) - 1 day) - interval 1 month) and
v2.visitdate < (curdate() - interval day(v2.visitdate) - 1 day)
group by v2.doctorid
order by cnt desc
limit 1
);
Результаты по моему запросу:
doctorId counter
7 2
Я не понимаю, почему возвращается только один doctorId.
Мне нужно вывести только вот так:
doctorId counter
7 2
3 2
Спасибо в avadance.