考虑这个表结构。如何按日期跨度进行分组?
Key ID VISITDATE
1 1 2011-01-07
2 1 2011-01-09
3 2 2011-01-10
4 1 2011-01-12
5 3 2011-01-12
6 1 2011-01-15
7 2 2011-01-21
9 1 2011-02-28
10 2 2011-03-21
11 1 2011-01-06
我需要让所有的ID,重点,分(VisitDate)其中VisitDate是在10天内跨越吗?如果你有10天之内一排两次访问需要在那里的结果。
结果
KEY ID VISITDATE
11 1 2011-01-06
3 2 2011-01-10
5 3 2011-01-12
7 2 2011-01-21
9 1 2011-02-28
10 2 2011-03-21
可以这样没有自我来完成连接。我有一个查询,它会自动连接ID上的表并检查datediff.is是否有更好的解决方案?我们可以在这里使用递归CTE吗?
编辑
身高可以使用索引上日期列的解决方案
如果您有访问,请等待8天,再次访问,等待8天,再次访问?应该有两组,对吗?但是,哪两行?有两种方法来执行分组(AB)C或A(BC),并且您没有指定您想要的。或者我错过了什么? –
每10天的跨度如何定义?从第一次访问开始? – Mike
@迈克耶。从第一次访问开始... –