您好我在试图计算每个ID的每笔交易之间的时间差。
数据看起来像
Customer_ID | Transaction_Time
1 00:30
1 00:35
1 00:37
1 00:38
2 00:20
2 00:21
2 00:23
我试图让结果看起来像
Customer_ID | Time_diff
1 5
1 2
1 1
2 1
2 2
我真的很感激任何帮助。
由于
答案 0 :(得分:0)
大多数数据库都支持LAG()
功能。但是,日期/时间函数可能取决于数据库。以下是SQL Server的示例:
select t.*
from (select t.*,
datediff(second,
lag(transaction_time) over (partition by customer_id order by transaction_time),
transaction_time
) as diff
from t
) t
where diff is not null;
虽然计算时差的函数不同,但逻辑在大多数数据库中都是类似的。