Sql 如何在DB2中使用滞后/超前计算行的时差?

Sql 如何在DB2中使用滞后/超前计算行的时差?,sql,syntax,db2,lag,Sql,Syntax,Db2,Lag,我有下表: id Date Hour Description Username 1 2015-05-13 10:08 SessionClosed Thierry 2 2015-05-12 23:30 SessionClosed Leao 3 2015-05-12 20:50 SessionOpened Thierry 4 2015-05-11 17:10 SessionOpened Leao 如何计算每个用户会话的时间差 我正在使用DB2 结果应该如下所示: id D

我有下表:

id Date       Hour  Description   Username
1  2015-05-13 10:08 SessionClosed Thierry
2  2015-05-12 23:30 SessionClosed Leao
3  2015-05-12 20:50 SessionOpened Thierry
4  2015-05-11 17:10 SessionOpened Leao
如何计算每个用户会话的时间差

我正在使用DB2

结果应该如下所示:

id Date       Hour  Description   Username DiffTime
1  2015-05-13 10:08 SessionClosed Thierry  14:18
2  2015-05-12 23:30 SessionClosed Leao     30:20
3  2015-05-12 20:50 SessionOpened Thierry  00:00
4  2015-05-11 17:10 SessionOpened Leao     00:00

结果应该是这样的?我刚刚编辑了这个问题并给出了结果。一个用户一次可以打开多个会话吗?为会话打开“00:00”的“DiffTime”的目的是什么?这是不可能的。实际上,我只需要这段时间来处理SessionClosed行。对于SessionOpened行,可以忽略此时间操作。