17,086
社区成员
发帖
与我相关
我的任务
分享
select b
from (select a, lag(b) over(order by a) b, lag(c) over(order by a) c
from my_test) t
where t.a = 2
and t.c = 1;
with t as
(select 1 a, 2 b, 3 c
from dual
union all
select 2 a, 3 b, 1 c
from dual
union all
select 2 a, 4 b, 3 c
from dual
union all
select 2 a, 5 b, 1 c
from dual
union all
select 4 a, 6 b, 1 c
from dual)
select p_b
from (select t.*, lag(b) over(order by a) p_b, lag(c) over(order by a) p_c
from t) t1
where t1.a = 2
and p_c = 1;