计算行之间的时差?

时间:2018-02-08 14:22:30

标签: sql-server sql-server-2012

我希望有人可以提供帮助。我的表格如下所示。

ModifyDate| ModifiedBy | TaskID |
2018-02-05| Bob        | 55444  |
2018-02-06| Lily       | 55444  |
2018-02-08| Sarah      | 55444  |

对于每一行,我需要计算每个Modifydate的{​​{1}}之间的时差。

例如,我的输出应如下所示:

TaskID

Sarah上有一个NULL,因为她是修改任务的最后一个人。

这有意义吗?希望有人可以提供帮助

谢谢!

1 个答案:

答案 0 :(得分:4)

这样的事情应该有效:

SELECT ModifyDate, ModifiedBy, TaskID,
       DATEDIFF(DAY, ModifyDate,
                     LEAD(ModifyDate) OVER (PARTITION BY TaskID  
                                            ORDER BY ModifyDate))
FROM mytable

Demo here