查找表条目

时间:2013-08-28 11:38:35

标签: sql sql-server sql-server-2012

我在每次访问时都有一个主表(tblVisit)有人记下他们是否找到了特定的项目或行动点。

例如,如果他们在任何12周的时间内发现了3次健康和安全问题,我该如何编写查询?

数据看起来像这样:

VisitID | DateServiceStart | VisitActivityRef |
111 | 01/01/2013 | 1
222 | 01/02/2013 | 1
333 | 06/02/2013 | 2
444 | 23/02/2013 | 1
555 | 18/03/2013 | 2

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用LAG获取上一行

因此,在您的实例中,比较最后一个日期

 LAG (DateServiceStart, 2, null) OVER 
     (PARTITION BY VisitActivityRef ORDER BY DateServiceStart) 

到当前行日期,并使用DATEDIFF

查找差异