我有以下表结构:
id int -- more like a group id, not unique in the table
AddedOn datetime -- when the record was added
Run Code Online (Sandbox Code Playgroud)
具体而言id,每天最多只有一条记录.我必须编写一个查询,返回每个的连续(在日级别)日期间隔id.预期的结果结构是:
id int
StartDate datetime
EndDate datetime
Run Code Online (Sandbox Code Playgroud)
请注意,时间部分AddedOn可用,但在此处并不重要.
为了更清楚,这里有一些输入数据:
with data as
(
select * from
(
values
(0, getdate()), --dummy record used to infer column types
(1, '20150101'),
(1, '20150102'),
(1, '20150104'),
(1, '20150105'),
(1, '20150106'),
(2, '20150101'),
(2, '20150102'),
(2, '20150103'),
(2, '20150104'),
(2, '20150106'),
(2, '20150107'),
(3, …Run Code Online (Sandbox Code Playgroud)