2016-08-29 3 views
-1

Я хочу, чтобы вычислить значение дельты между 2 записывает мой стол был 2 столбца идентификатора и метку времени я хочу, чтобы вычислить время дельты между записями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; 
Смежные вопросы