我有一张桌子上有关于公共汽车环游城市的信息。每个记录代表一个事件,其中巴士到达一个巴士站,有巴士id,停止id,到达时间(军事时间,秒)和离开时间(军事时间(秒))。如果我可以将每个事件加入到随后的事件中,那么我就可以计算出每辆公共汽车在车站之间开车的时间,方法是从2站到达时间中减去1站的发车时间。
但是我怎样才能完成这个连接呢?在给定的出发时间之后,我怎样才能轻易地找到最快的到达时间?编辑我使用的server 2012。
样本数据

预期结果

发布于 2016-06-23 19:05:18
使用lead函数,它根据指定的顺序获取下一行的值。
select t.*,
lead(arrival_time) over(partition by busname order by arrival_time) as next_stop_arrival,
lead(departure_time) over(partition by busname order by arrival_time) as next_stop_departure
from tablename thttps://stackoverflow.com/questions/37999610
复制相似问题