SQL> -- NULL を見えるように編集
SQL> column code_prev null '<null>'--select id, decode(code, prev_code, '上に同じ', code) print_code, code, prev_code
from (
select id, code, lag(code) over (order by id) prev_code from lag_test
-- ↑ 直前のレコードの code を参照(id 列で昇順の行セット)
)
order by id;
ID PRINT_CODE CODE PREV_CODE
---------- ------------ ------------ ------------
10 a a <null>
11 b b a
26 a a b
38 上に同じ a a
59 上に同じ a a
96 b b a
select id, code, prev_code
from (
select id, code, lag(code) over (order by id) prev_code from lag_test
)
where decode(code, prev_code, 1, 0) = 0
order by id ;
ID CODE PREV_CODE
---------- ------------ ------------
10 a <null>
11 b a
26 a b
96 b a