【发布时间】:2013-03-08 15:17:16
【问题描述】:
我正在尝试使用 over 函数来计算在所有行的当前行的开始日期和结束日期之间开始的事件数。 IE。并发计数器。最终,我将寻找每天或每小时的最大并发事件等。
select FingerPrint
,StartDate
,EndDate
,Num_ConCurrent = count(FingerPrint) over (
partition by StartDate
order by StartDate
range between StartDate PRECEDING and EndDate following
)
from #File
group by FingerPrint
,StartDate
,Enddate
不幸的是,这似乎不起作用。虽然我知道我可以简单地使用自联接,但我认为 over 子句可能有另一种方法。
非常感谢任何帮助。
注意:错误消息
消息 102,级别 15,状态 1,第 7 行 'StartDate' 附近的语法不正确。
【问题讨论】:
-
请标记 SQL Server 的版本。
标签: sql range sql-server-2012 between over-clause