SQL Azure计算房间的两行结束到开始时间(以天为单位)
我有一张有集装箱/房间ID的桌子。每行都有一个容器/房间的ID以及开始和结束日期时间。我需要为具有多行的容器计算下一行的结束日期和开始日期之间的时间 样本数据: 当房间号有多行时,所需的输出将是第三列,其中包含下一行结束与开始之间的差值(以天为单位)。如果只有一行,则所需的输出将为0 我查看了,但这只使用了一个日期列,我正在努力找出当一个房间有多行时如何计算跨行的差异。只需使用SQL Azure计算房间的两行结束到开始时间(以天为单位),sql,sql-server,azure-sql-database,ssms,Sql,Sql Server,Azure Sql Database,Ssms,我有一张有集装箱/房间ID的桌子。每行都有一个容器/房间的ID以及开始和结束日期时间。我需要为具有多行的容器计算下一行的结束日期和开始日期之间的时间 样本数据: 当房间号有多行时,所需的输出将是第三列,其中包含下一行结束与开始之间的差值(以天为单位)。如果只有一行,则所需的输出将为0 我查看了,但这只使用了一个日期列,我正在努力找出当一个房间有多行时如何计算跨行的差异。只需使用datediff()和lag(): 请继续粘贴预期结果和实际结果,因为text会这样做,对此表示抱歉。 select
datediff()
和lag()
:
请继续粘贴预期结果和实际结果,因为text会这样做,对此表示抱歉。
select t.*,
datediff(day, enddt,
lead(startdt) over (partition by room order by startdt)
) as diff
from t;