第一个问题在这里。我试图在SQL中计算一个过去365天的滚动数字。我有以下公式。
Select Count (*) ID
From HSE_Meldingen
Where ((Bedrijf IN ('BE Civiel','Be Mechanisch','BE Overig','BE Vijzel') And Datum_incident > DATEADD(DAY,-365,GETDATE()) and Soort_Melding = 'Letselongeval EHBO met doktersverzorging')
现在我必须增加一些额外的内容 我想让这个公式回溯过去5年中的每一天的365天。因此,计算一个365天的滚动窗口,回顾5年。
我希望我已经解释的足够好。
我会创建一个日历表(你可以找到很多如何创建日历表的例子),然后把这个表JOIN到你的HSE_meldingen表。
例如
Select d.theDate, Count (*) ID
From AllDates d
LEFT JOIN HSE_Meldingen m
ON m.HSE_Meldingen BETWEEN DATEADD(DAY,-365,d.TheDate) AND d.theDate
AND m.Bedrijf IN ('BE Civiel','Be Mechanisch','BE Overig','BE Vijzel')
and m.Soort_Melding = 'Letselongeval EHBO met doktersverzorging'
Where d.theDate > DATEADD(DAY,-365,GETDATE())
GROUP BY d.theDate