Максимальный штат сотрудников отдела - PullRequest
0 голосов
/ 29 мая 2020

Напишите запрос, чтобы отобразить название отдела, в котором есть порядок максимального количества сотрудников по названию отдела.

Это схема моей проблемы:

college management system

Я пробовал это:

select d.department_name
from   department d
       inner join staff s on d.department_id=s.department_id
group by d.department_name
having count(s.staff_id) >= all
       ( select count(s.staff_id) as cnt
         from   department d
                inner join staff s on d.department_id=s.department_id
         group by department_name )
order by d.department_name desc;

, и я смог пройти один тестовый пример, который приводит к отделу «SE», но я не смог пройти другой тестовый пример. Я не знаю. какой второй тестовый случай хотите. Я не уверен, что я сделал неправильно в приведенном выше коде.

1 Ответ

0 голосов
/ 29 мая 2020

Вы можете использовать функцию windows следующим образом:

select department_name, cnt
from
(select department_name, rank() over (order by cnt desc) as rn, cnt 
from
(select d.department_name, count(1) cnt
   from department d inner join staff s 
     on d.department_id=s.department_id
      group by d.department_name))
where rn = 1
order by department_name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...