按最小日期和最大日期之间的日期范围计数



我试图按项目的最小日期和最大日期之间的日期范围返回计数。我的表包含:

tbody> <<tr>
RecordID ProjectID StartDate EndDate
1254879000252021-01-012021-02-28
1254248000252021-03-012021-03-31
1253598000252021-03-012021-03-31
1253578000252021-04-012021-04-30
1253698000252021-04-012021-04-30
1254873000252021-04-012021-04-30
1253697002592021-02-012021-02-28
1253570002592021-02-012021-02-28
1254999000372021-01-012021-01-31
1252695000372021-02-012021-02-28
1254889000372021-05-012021-06-30

我相信您想要dense_rank()窗口函数:

select ProjectId, StartDate, EndDate
, dense_rank() over (partition by ProjectId order by StartDate)
from dbo.ProjectTable
order by ProjectId, StartDate, EndDate;

最新更新