垂直 sql 增量
vertica sql delta
我想计算 2 条记录之间的增量值我的 table 有 2 列 ID 和时间戳我想计算记录之间的增量时间
id |timestamp |delta
----------------------------------
1 |100 |0
2 |101 |1 (101-100)
3 |106 |5 (106-101)
4 |107 |1 (107-106)
我使用 Vertica 数据库,我想在我的数据库上创建这个 table 的 view/projection。
是否可以在不使用 udf 函数的情况下创建此计算?
您可以将 lag()
用于此目的:
select id, timestamp,
coalesce(timestamp - lag(timestamp) over (order by id), 0) as delta
from t;
我想计算 2 条记录之间的增量值我的 table 有 2 列 ID 和时间戳我想计算记录之间的增量时间
id |timestamp |delta
----------------------------------
1 |100 |0
2 |101 |1 (101-100)
3 |106 |5 (106-101)
4 |107 |1 (107-106)
我使用 Vertica 数据库,我想在我的数据库上创建这个 table 的 view/projection。
是否可以在不使用 udf 函数的情况下创建此计算?
您可以将 lag()
用于此目的:
select id, timestamp,
coalesce(timestamp - lag(timestamp) over (order by id), 0) as delta
from t;