【发布时间】:2016-07-02 04:14:08
【问题描述】:
我需要获取所有Room_IDs 第一次报告Occupancy 空置的情况,因此只有当Occupancy 的最后一个实例空置并且在Room_ID 的生命周期内连续没有中断时与InspectionDate 相关(不包括例如已占用> 空置> 已占用> 空置或空置> 已占用或空置> 已占用> 空置> 空置但包括空置> 空置)
这是我用作示例的简化表:
Room_Id inspection_ID Occupancy InspectionDate
----------------------------------------------------
1 11 vacant 5/15/2015
1 12 occupied 5/21/2015
1 13 vacant 9/19/2015
1 14 occupied 1/16/2016
2 21 vacant 3/25/2015
2 22 occupied 8/27/2015
2 23 occupied 4/17/2016
3 31 occupied 12/12/2015
3 32 occupied 3/22/2015
3 33 vacant 2/2/2016
3 34 occupied 3/24/2016
4 41 occupied 4/17/2015
4 42 occupied 11/12/2015
4 43 occupied 12/22/2015
4 44 vacant 2/2/2016
4 45 vacant 3/24/2016
5 45 vacant 3/24/2015
5 45 vacant 3/24/2016
我的结果应该是这样的:
Room_Id inspection_ID Occupancy InspectionDate
---------------------------------------------------
4 41 occupied 4/17/2015
4 42 occupied 11/12/2015
4 43 occupied 12/22/2015
4 44 vacant 2/2/2016
4 45 vacant 3/24/2016
5 45 vacant 3/23/2015
5 45 vacant 3/24/2016
如果不够清楚,请告诉我。
【问题讨论】:
-
@AlexKudryashev 关闭,但不完全相同,即查看 ID 的每个实例的最后 2 条记录是否为空......这个检查 FTV
标签: sql-server tsql group-by