У меня есть две таблицы данных Сотрудники и отделы. Я хочу показать количество сотрудников в каждом отделе, в среднем среди зарплат в каждом отделе. Код у меня есть:Incoorect Count Results
select d.department_id, d.department_name, count(e.last_name) Employees,
avg(e.salary) Avg_Salary, e.last_name, e.salary, e.job_id
from departments d, employees e
where d.department_id = e.department_id
group by d.department_id, d.department_name, e.last_name, e.salary, e.job_id
order by d.department_id;
Этот код прекрасно работает, но результаты для подсчета работников и средней заработной платы не то, что я ищу. Мои результаты:
Department_ID Department_Name Employees Avg_Salary Last_Name Salary Job_ID
------------- --------------- --------- ---------- --------- ------ ------
10 Administration 1 4400 Whalen 4400 AD_ASST
20 Marketing 1 6000 Fay 6000 MK_REP
20 Marketing 1 13000 Hartstein 13000 MK_MAN
Как вы можете видеть, сотрудники подсчитывают отображение 1 для каждого сотрудника, а не общее количество в каждом отделе; и Avg_Salary - это то же самое, что и зарплата, а не фактическая средняя заработная плата в каждом отделе.
Это результаты, которые я хочу:
Department_ID Department_Name Employees Avg_Salary Last_Name Salary Job_ID
------------- --------------- --------- ---------- -------- ------ ------
10 Administration 1 4400 Whalen 4400 AD_ASST
20 Marketing 2 9500 Fay 6000 MK_REP
20 Marketing 2 9500 Smith 13000 MK_MAN
Как это исправить?
Спасибо Тони! Это работает! – Tim