Мне нужно найти средний размер (среднее число сотрудников) всех групп (работодателей), с которыми мы работаем в месяц за последние десять лет.Средний размер группы в месяц За предыдущие десять лет
Поэтому у меня нет проблем с получением среднего размера группы за каждый месяц. В течение текущего месяца я могу использовать:
Select count(*)
from Employees EE
join Employers ER on EE.employerid = ER.employerid
group by ER.EmployerName
Это даст мне список количества сотрудников в каждой группе. Затем я могу скопировать и вставить столбец в excel, чтобы получить средний показатель за текущий месяц.
За предыдущий месяц я хочу исключить всех сотрудников, которые были добавлены после этого месяца. У меня также есть запрос на это:
Select count(*)
from Employees EE
join Employers ER on EE.employerid = ER.employerid
where EE.dateadded <= DATEADD(month, -1,GETDATE())
group by ER.EmployerName
Это исключает всех сотрудников, которые были добавлены в этом месяце. Я могу продолжать это на протяжении всего десятилетия, но я знаю, что есть лучший способ сделать это. У меня нет проблем с этим запросом 120 раз, копирование и вставка результатов в excel для вычисления среднего значения. Тем не менее, я бы лучше изучил более эффективный способ сделать это.
Другой вопрос, я не могу сделать следующее, кто знает путь вокруг него:
Select avg(count(*))
Заранее спасибо, ребята !!
Редактировать: Сотрудники, которые были прекращены, могут быть найдены следующим образом. NULL - это сотрудники, которые в настоящее время работают.
Select count(*)
from Employees EE
join Employers ER on EE.employerid = ER.employerid
join Gen_Info gne on gne.id = EE.newuserid
where EE.dateadded <= DATEADD(month, -1,GETDATE())
and (gne.TerminationDate is NULL OR gen.TerminationDate < DATEADD(day, -14,GETDATE())
group by ER.EmployerName
Я действительно надеюсь, что вам не нужно делать это в mySQL, oracle и SQL-сервере ... что это как логика даты для каждого. Также некоторые примеры данных с ожидаемыми результатами помогут улучшить вопрос. – xQbert
синтаксис ищет mssql – Kacper
что о сотрудниках, которые оставляют работодателя? Вы показываете нам, как определить, когда они будут добавлены, но не как распознать, когда они будут удалены. Если они уйдут, и они больше не находятся в таблице Employees, то вы никогда не сможете получить точный средний показатель, потому что вы никогда не будете считать сотрудников, которые были когда-то заняты – Matt