2017-03-22 13 views
0

我有一個表,我想通過時間戳desc進行排序,然後比較所有連續的行以確定每行之間的差異。從那裏,我想找到所有的差異大於2小時的行。如何比較連續行的時間戳

我被困在如何實際比較表中的連續行。任何幫助將非常感激。

我使用的Oracle SQL Developer 3.2

+0

我用'oracle'重新標記了這個問題,假設您正在使用Oracle的SQL工具和他們自己的數據庫。 –

回答

2

你沒告訴我們你的表定義,但這樣的事情:

select * 
from (
    select t.*, 
      t.timestamp_column, 
      t.timestamp_column - lag(timestamp_column) over (order by timestamp_column) as diff 
    from the_table t 
) x 
where diff > interval '2' hour; 

這假定timestamp_column定義爲timestamp沒有date(否則差異的結果不會是interval

+0

謝謝!這樣可行! – user3799615