计算两行之间的持续时间



下午好!有人能帮我解决这个任务吗?我有一个表:

<表类> Id 日期 原因 tbody><<tr>12020-01-0110点出发12020-01-01 12:20到12020-01-02 14:30离职12020-01-02第19章20节到12020-01-03 15:40离职12020-01-04第19章20节到22020-02-03 15:40离职22020-02-04第19章20节到32020-03-05 15:40离职32020-03-05第19章20节到32020-03-06 16:28离职32020-03-06 21:00到

假设行完全交错,您可以使用lead():

select t.*,
datediff(minute, date, next_date) as diff_minutes
from (select t.*,
lead(date) over (partition by id order by date) as next_date
from t
) t
where reason = 'Departure';

如果您只想要一个id的结果,您可以在子查询或外部查询中进行过滤。

最新更新