【发布时间】:2014-09-30 09:22:37
【问题描述】:
这是SQL数据库数据:
UserTable
UserName | UserDate | UserCode
-------------------------------------------
user1 | 08-31-2014 | 232
user1 | 09-01-2014 | 232
user1 | 09-02-2014 | 0
user1 | 09-03-2014 | 121
user1 | 09-08-2014 | 122
user1 | 09-09-2014 | 0
user1 | 09-10-2014 | 144
user1 | 09-11-2014 | 166
user2 | 09-01-2014 | 177
user2 | 09-04-2014 | 188
user2 | 09-05-2014 | 199
user2 | 09-06-2014 | 0
user2 | 09-07-2014 | 155
如果 [UserCode] 不是零,则应仅计算连续天数(作为结果)。 用户日期介于 09-01-2014 和 09-11-2014 之间。 仅当 Result 为 2 或更多时才显示结果。
我希望我的 sql 查询返回的是:
UserName | StartDate | EndDate | Result
----------------------------------------------------------
user1 | 09-01-2014 | 09-03-2014 | 2
user1 | 09-08-2014 | 09-11-2014 | 3
user2 | 09-04-2014 | 09-07-2014 | 3
这可能只使用 SQL 查询吗?
【问题讨论】:
-
你用的是什么版本的mssql?
标签: sql sql-server gaps-and-islands