我想计算2个记录之间的delta值我的表有2列id和时间戳我想计算记录之间的增量时间
id |timestamp |delta
----------------------------------
1 |100 |0
2 |101 |1 (101-100)
3 |106 |5 (106-101)
4 |107 |1 (107-106)
我使用Vertica数据库,我想在我的数据库上创建该表的视图/投影。
是否可以在不使用udf函数的情况下创建此计算?
答案 0 :(得分:2)
您可以将lag()
用于此目的:
select id, timestamp,
coalesce(timestamp - lag(timestamp) over (order by id), 0) as delta
from t;