下午好!有人能帮我解决这个任务吗?我有一个表:
<表类>
Id
日期
原因
tbody><<tr>1 2020-01-01 10点出发 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节 到 3 2020-03-05 15:40 离职 3 2020-03-05第19章20节 到 3 2020-03-06 16:28 离职 3 2020-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
的结果,您可以在子查询或外部查询中进行过滤。