Исходя из упомянутой схемы, вам нужно будет соединить (INNER JOIN) таблицу отделов из таблицы персонала, чтобы получить название отдела.
Если название отдела нежелаемое, и количество может быть просто основано на Department_id, тогда объединение не требуется.
Запросы для обоих сценариев упомянуты ниже.
Запрос Oracle SQL для результата сназвание отдела, т. е. с INNER JOIN
SELECT D.DEPARTMENT_NAME, COUNT(S.DEPARTMENT_ID) AS STAFF_COUNT FROM **DEPARTMENT D, STAFF S** --INDICATES INNER JOIN IN ORACLE SQL
WHERE D.DEPARTMENT_ID = S.DEPARTMENT_ID
GROUP BY D.DEPARTMENT_NAME
ORDER BY STAFF_COUNT DESC
Oracle SQL-запрос для результата без названия отдела, просто идентификатор отдела
SELECT S.DEPARTMENT_ID,COUNT(S.DEPARTMENT_ID) AS STAFF_COUNT FROM STAFF S
GROUP BY S.DEPARTMENT_ID
ORDER BY STAFF_COUNT DESC
Надеюсь, что этопомогает.Приветствия.