MYSQL печатать имена по идентификатору с наибольшим числом вхождений в другой таблице - PullRequest
0 голосов
/ 28 мая 2020

Мне нужно написать запрос с указанием имени сотрудника (ов), который контролирует наибольшее количество студентов. В результате также должно отображаться количество студентов. Запрос также должен работать в ситуациях, когда у более чем одного супервизора есть высшие ученики (например, 2 супервизора имеют 10 студентов, 10 из которых являются высшими). просто перечислить значения по частоте появления, а затем использовать LIMIT, чтобы показать только верхнее. Однако мне нужно сделать это таким образом, чтобы он отображал самый высокий и любые другие, которые ему равны, и это должно быть динамическое c для списка результатов любой длины.

Есть 2 отдельные таблицы, как показано ниже, поэтому я решил, что запрос будет примерно таким:

Таблица студентов

+------------------+----------+
|  S_FIRST         |   F_ID   |
+------------------+----------+
| Tammy            |        1 |
| jorge            |        1 |
| john             |        1 |
| mike             |        2 |
| lisa             |        4 |
| ni               |        3 |

таблица факультетов

+------------------+----------+
| F_FIRST          |   F_ID   |
+------------------+----------+
| Teresa           |        1 |
| mark             |        2 |
| colin            |        3 |
| jonnel           |        4 |
| james            |        5 |

SELECT F_FIRST, COUNT (student.F_ID ) AS value_occurrence
от факультета, группы студентов по F_FIRST ORDER BY value_occurrence DESC;

Но это просто дает следующий результат.

F_FIRST         VALUE_OCCURRENCE
--------------- ----------------
Jonnel                         6
Mark                           6
James                          6
Colin                          6
Teresa                         6

Ожидаемый результат:

F_FIRST         VALUE_OCCURRENCE
--------------- ----------------
Teresa                         3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...