SQL - подсчитать количество повторений в пределах даты
У меня есть набор данныхResources
, Projects
, StartDate
а такжеEndDate
, Каждый ресурс может быть использован несколькими проектами.
Я хочу подсчитать количество проектов, которые используют ресурс в каждом квартале.
Таким образом, если проект начинается в первом квартале определенного года и заканчивается в третьем квартале того же года, а проект2 начинается во втором квартале и заканчивается в третьем квартале, я хочу получить счет 2 проектов за второй квартал, поскольку в течение первого квартала оба проекта, как проект1, так и проект2, были активны.
Вот мой набор данных:
create table Projects
(Resource_Name varchar(20)
,Project_Name varchar(20)
,StartDate varchar(20)
,EndDate varchar(20)
)
insert into Projects values('Resource 1','Project A','15/01/2013','1/11/2014')
insert into Projects values('Resource 1','Project B','1/03/2013','1/09/2016')
insert into Projects values('Resource 1','Project C','1/04/2013','1/09/2015')
insert into Projects values('Resource 1','Project D','1/06/2013','1/03/2016')
insert into Projects values('Resource 1','Project E','15/01/2013','1/09/2015')
insert into Projects values('Resource 1','Project F','3/06/2013','1/11/2015')
И вот результат, который я ищу:
Resource Name| Year | Quarter|Active Projects
Resource 1 2013 1 2
Resource 1 2013 2 6