2016-08-29 6 views
-1

Ich will Delta-Wert zwischen 2 berechnen zeichnet mein Tisch bekam 2 Spalte ID und Zeitstempel Ich mag die Delta-Zeit zwischen den Datensatz berechnenvertica SQL-Delta

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

ich mit einem Vertica Datenbank arbeiten und ich möchte um eine Ansicht/Projektion dieser Tabelle in meiner Datenbank zu erstellen.

Ist es möglich, diese Berechnung ohne Verwendung der udf-Funktion zu erstellen?

Antwort

2

Sie lag() für diesen Zweck verwenden können:

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