Sql 查找表项

Sql 查找表项,sql,sql-server,sql-server-2012,Sql,Sql Server,Sql Server 2012,我有一个主表(tblVisit),在每次访问时,有人会记下他们是否找到了特定的项目或行动点 例如,如果他们在任何12周内发现了3次健康和安全问题,我如何才能写一个这样的查询 数据如下所示: 非常感谢您的帮助。您可以使用获取上一行 因此,在你的例子中,比较最后一次,但只有一次 LAG (DateServiceStart, 2, null) OVER (PARTITION BY VisitActivityRef ORDER BY DateServiceStart) 到当前行日期,并

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

例如,如果他们在任何12周内发现了3次健康和安全问题,我如何才能写一个这样的查询

数据如下所示:

非常感谢您的帮助。

您可以使用获取上一行

因此,在你的例子中,比较最后一次,但只有一次

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

到当前行日期,并使用
DATEDIFF

查找差异。您如何知道健康和安全问题是什么?您是在寻找一个给定的12周周期,还是在寻找可能是真的12周周期?VisitualVityRef链接到一个包含“健康和安全问题”的查找表。因此,在本例中,VisitualVityRef=1表示健康和安全。那很好。我认为你应该修改你的问题,用适当的信息来回答它。您还可以包括示例数据和希望返回的结果。
 LAG (DateServiceStart, 2, null) OVER 
     (PARTITION BY VisitActivityRef ORDER BY DateServiceStart)