我有一个表,其中包含有关我的用户及其登录日期时间的一些记录,因此该表具有userId和loginDateTime以及其他所需的列 . 该表按userIds分组 .
我想为每个组(实际上每个用户)选择出现在特定时间范围内(例如2小时内)的登录 .
为了更好地说明,查询必须在定义的时间窗格内返回有关特定用户的登录
例如,表格是:
id userId loginDateTime
----- --------- -----------------------
1 233 01/01/2015 1:04:22 PM
2 233 01/01/2015 2:01:43 PM
3 234 01/01/2015 1:04:12 PM
4 235 01/01/2015 8:22:54 PM
5 235 01/01/2015 1:51:53 PM
6 234 01/01/2015 12:07:32 PM
7 233 01/01/2015 1:09:18 PM
8 233 01/01/2015 4:14:02 PM
用户“233”和“1小时时间 Span ”的结果必须是这样的
id userId loginDateTime
----- --------- ------------------------
1 233 01/01/2015 1:04:22 PM
2 233 01/01/2015 2:01:43 PM
7 233 01/01/2015 1:09:18 PM
我正在寻找SQL和等效的LINQ语句 .
2 回答
试试这个:
更多关于DATEADD
我的linq不是那么好,但你可以从这样的事情开始 . 您还可以尝试使用匿名方法进行选择:
此外,您可能希望修改时间 Span 检查以使其更精确 .