有一组工位,它们分别有自己的开关机时间。同一天内可能开关机多次
(1) 只开关机一次的情况
1、StartTime 8 00 endtime (如果只关机了一次,就取当前时间)
(2)存在两次开关机
1、StartTime 8 00 endtime 10 00(开机多次,第一条结束时间是下次开机时间)
2、StartTime 10 00 endtime (当前时间)
(3)存在多次开关机的情况
1、StartTime 8 00 endtime 10 00(开机多次,第一条结束时间是下次开机时间)
2、StartTime 10 00 endtime 11 00
3、StartTime 11 00 endtime (当前时间)
以此类推
ID Opentime Closetime
1 8 00 10 00
2 10 00 11 00
3 11 00
注 ID为自增列,时间越大,ID 越大
你没描述你的需求,我猜你是想计算出第三列closetime,可以使用窗口函数lag()取分区内上一条记录的opentime,该函数接受一个默认值如果为空则取默认当前时间
请补充一下你的问题是什么
还有,说明一下你数据库的类型以及版本