下面是桌子
CID,PID,CHECK_IN,Check_out
1,p1,2020-01-01,2020-01-09
1,p1,2020-01-09,2020-01-16
1,p1,2020-01-16,2020-01-18
1,p1,2020-02-01,2020-02-09----overlapping with below ro
1,p1,2020-02-06,2020-02-18----overlapping with above ro
1,p1,2020-02-20,2020-02-21
1,p1,2020-02-23,2020-02-26
问题:1.识别同一属性上的连续预订,并使用min(checkIn)和max(checkOut)将其排成一行,并使其标志= 1
确定同一属性上的重叠连续预订,并用min(checkIn)和max(checkOut)使其一行,并使其标志= 2
如果同一属性中没有连续预订,则保留该行不变,并放置标志= 3
如果在不同的属性中没有连续的预订,则保留该行并放置标记= 4
如果在不同的属性中有连续的预订,则保留该行不变,并放置flag = 5
] >>预期结果
CID,PID,CHECK_IN,Check_out,FLAG
1,P1,2020-01-01,2020-01-18,1
1,P1,2020-02-01,2020-02-18,2
1,P1,2020-02-20,2020-02-21,3
1,P1,2020-02-23,2020-02-26,3
下面是表格CID,PID,CHECK_IN,Check_out 1,p1,2020-01-01,2020-01-09 1,p1,2020-01-09,2020-01-16 1,p1,2020-01 -16,2020-01-18 1,p1,2020-02-01,2020-02-09 ----与ro 1,p1,2020-02-06以下重叠,...
这主要是一个缺口和孤岛的问题-连接行。