1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
with t as (
select 1 as a,2 as b, 'col' as c from dual union all
select 1 as a,2 as b, 'col1' as c from dual union all
select 1 as a,2 as b, 'col2' as c from dual union all
select 1 as a,3 as b, 'col3' as c from dual union all
select 2 as a,2 as b, 'col2' as c from dual union all
select 2 as a,2 as b, 'col3' as c from dual
),
w as (
select a, b, c
, lag(a, 1) over(order by a, b, c) as pa
, lag(b, 1) over(order by a, b, c) as pb
, lag(c, 1) over(order by a, b, c) as pc
from t
)
select case a when pa then null else a end as a,
case b when pb then null else b end as b,
case c when pc then null else c end as c
from w
order by w.a, w.b, w.c |
Partager