2016-08-29 44 views
-1

我要计算2之间的差值记录我的表用了2列ID和时间戳我要计算记录之间的时间增量Vertica的SQL三角洲

id |timestamp |delta 
---------------------------------- 
    1 |100  |0 
    2 |101  |1 (101-100) 
    3 |106  |5 (106-101) 
    4 |107  |1 (107-106) 

我与Vertica的数据的基础工作,我想在我的数据库上创建该表的视图/投影。

是否有可能创建这个计算而不使用udf函数?

回答

2

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

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