我有一个表格,用于存储所有状态更改及其生成时间。因此,当我在时间表上搜索订单号时,我会得到更改的所有日期,但我真正想要的是订单在每种状态下的时间(小时/分钟)。
时间表似乎是这样
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
谢谢!
答案 0 :(得分:1)
使用lead()
:
select t.*,
(lead(date) over (partition by id_order order by date) - date) as time_in_order
from t;