[英]How to find time in seconds between two cross columns in SQL Server
表DATA_CUBE的以下示例数据在varchar(255)中。 它有180万行,没有主键。 我想返回自行车在车站停留的平均时间(以秒为单位)。 首先,我跑了一个查询通过1,4,5.From返回结果的顺序如下快照,我想知道的是,如果有可能,计算之间的时间差, stoptime
1行,并starttime
由bikeid行2组使用SQL?
您真正想要的功能是lead()
,但是SQL Server 2008不支持该功能。 这是使用outer apply
的方法:
select dc.*, datediff(second, dc.stoptime, nextdc.starttime) as SecondsToNext
from data_cube dc outer apply
(select top 1 dc2.*
from data_cube dc2
where dc2.bikeid = dc.bikeid and dc2.starttime >= dc.stoptime
order by dc2.starttime
) nextdc;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.