我有一个与此问题相关的四列的表:EventID(int,null),StartDateTime(datetime,null),EndDateTime(datetime,null),DurationInMinutes(int,null)
我想编写一个查询,该查询将选择一个附加列,以总和该事件发生前7天内发生的事件的总持续时间之和,我不知道如何做到这一点。现在,我正在考虑某种case语句或LAG的SUM,但是我不知道该怎么写。我希望避免任何需要cte的事情,仅是因为我的查询已经有太多了。请帮忙吗?
发布此答案时有一些假设。假设:
SELECT *,
Isnull(SUM(durationinminutes)
over (
ORDER BY startdatetime, enddatetime ROWS BETWEEN unbounded
preceding
AND 7
preceding), 0) AS SevenDayPreviousRunningTotal
FROM data
WHERE startdatetime IS NOT NULL
AND enddatetime IS NOT NULL
如果条件与您的要求不符,我将更新我的答案。在这种情况下,请使用更多详细信息更新问题。