2017-09-27 26 views
0

我有一个表格,用于存储所有状态更改及其制作时间。所以,当我在时间表上搜索订单号码时,我会得到所有更改的日期,但我真正想要的是订单处于每种状态的时间(小时/分钟)。我需要计算不同行中日期之间的时间。 (PLSQL)

时间的表格看起来这

ID_ORDER | Status | Date 
1   Waiting  27/09/2017 12:00:00 
1   Late  27/09/2017 14:00:00 
1   In progress 28/09/2017 08:00:00 
1   Validating 30/09/2017 14:00:00 
1   Completed 30/09/2017 14:00:00 

谢谢!

回答

1

使用lead()

select t.*, 
     (lead(date) over (partition by id_order order by date) - date) as time_in_order 
from t; 
+0

感谢,我认为这正是我需要工作,但回报领域对我来说是有点混乱。你能指定回报吗?非常感谢!!! – mateusppereira

+0

我现在明白了。有用!!!再次感谢 – mateusppereira