Я думаю, вам нужно удалить DISTINCT изнутри COUNT. Вы говорите, что хотите, чтобы «nr раз учитель встречался со студентом», что, как я понимаю, означает, что если учитель T видел ученика S 9 раз, вы хотите:
T S 9
Если вы сохраняете DISTINCT, то группировка на имя ученика и подсчет количества уникальных идентификаторов учеников будет когда-либо только 1, если два ученика не имеют одинаковые имена. По сути, сохраняя DISTINCT, вы подсчитываете «количество разных учеников с именем X, с которыми встречался этот учитель», и в основном это 1, потому что «1 уникальный ученик по имени Хана Бейкер встретился с xxxx yyyy», «1 уникальный ученик с name Dream Kenise встретился с xxxx yyyy "....
Если у вас есть ученики с одинаковыми именами, но с другим идентификатором, то вы должны добавить идентификатор студента в GROUP BY, чтобы обеспечить различие между двумя студентами. Вам не нужно добавлять его в SELECT, но вам будет сложно отличить их, если вы это сделаете. Если у вас есть два ученика, оба по имени S, но у одного есть ID 1 (и он видел T 5 раз), а у другого - ID 2 (и она видела T 4 раза), вы получите результат:
T S 5
T S 4
Возможно, вы захотите добавить другие столбцы к вашему выбору, чтобы лучше понять разницу между ними
В вашем первом запросе использование DISTINCT означает «количество разных учеников, которые искали встречу с учителем» ». Если опустить DISTINCT в этом запросе, будет подсчитано, «сколько раз учитель встречался с любым учеником»