vertica sql delta

时间:2016-08-29 10:05:38

标签: sql vertica

我想计算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函数的情况下创建此计算?

1 个答案:

答案 0 :(得分:2)

您可以将lag()用于此目的:

select id, timestamp,
       coalesce(timestamp - lag(timestamp) over (order by id), 0) as delta
from t;