0
我有一個表,我想通過時間戳desc進行排序,然後比較所有連續的行以確定每行之間的差異。從那裏,我想找到所有的差異大於2小時的行。如何比較連續行的時間戳
我被困在如何實際比較表中的連續行。任何幫助將非常感激。
我使用的Oracle SQL Developer 3.2
我有一個表,我想通過時間戳desc進行排序,然後比較所有連續的行以確定每行之間的差異。從那裏,我想找到所有的差異大於2小時的行。如何比較連續行的時間戳
我被困在如何實際比較表中的連續行。任何幫助將非常感激。
我使用的Oracle SQL Developer 3.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
)
謝謝!這樣可行! – user3799615
我用'oracle'重新標記了這個問題,假設您正在使用Oracle的SQL工具和他們自己的數據庫。 –