【发布时间】:2016-11-30 20:32:00
【问题描述】:
我需要找出一个人从当前周开始连续出现在表格中的周数。
该表有一个 ID 和一个插入日期。如果一个人被插入到表中,我需要计算他们前一周是否在那里,如果是,那么在此之前连续几周。
我尝试了一些我搜索过的间隙岛技术,但无济于事。有什么想法吗?
编辑 SQL Server 2012
ID-PK (int)
PersonID (int)
CourseNumber (varchar(15))
Term (char(5))
InsertDate (datetime)
Sample Data
250029 - 507 - 541 - Q2 - 2016-11-27
250028 - 507 - 541 - Q2 - 2016-11-20
250027 - 507 - 541 - Q2 - 2016-11-13
250027 - 507 - 541 - Q2 - 2016-10-13
因此,在包含此数据的示例中,我想检索“3”作为答案,因为该人在 2016 年 10 月 13 日和 2016 年 11 月 13 日之间的休息时间之前连续三周出现在表格中。
谢谢
【问题讨论】:
-
几个项目。 1) 哪些 RDMS 2) 样本数据和期望的结果会有所帮助
标签: sql-server sql-server-2012 gaps-and-islands