我正在进行路径分析,我需要查看一页导致的位置。如何编写查询以获取具有特定值的先前记录的所有记录。
例如:
col1 timestamp
a 1
b 2
a 3
c 4
b 5
e 6
我想只返回c和b
我正在尝试使用窗口函数来执行此操作,但我没有使用它们并且完全失败了: - (
感谢您的回答!
答案 0 :(得分:0)
您可以使用lag()
功能。 。 。和子查询:
select t.*
from (select t.*, lag(col1) over (order by timestamp) as prev_col1
from t
) t
where prev_col1 = 'a';
答案 1 :(得分:0)
Oracle的Lead和Lag功能将帮助您实现预期的结果。