1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| with cte_matable (id, c1, c2, c3, c4, c5) as
(
select 40635, '060', 12, 'BP', 1, 'A' from dual union all
select 40636, '060', 12, 'BP', 2, 'A' from dual union all
select 40637, '060', 12, 'BP', 3, 'A' from dual union all
select 40638, '060', 12, 'BP', 4, 'A' from dual union all
select 40639, '060', 12, 'BP', 5, 'A' from dual union all
select 40640, '060', 12, 'BP', 10, 'A' from dual union all
select 40641, '060', 12, 'BP', 11, 'A' from dual union all
select 40642, '060', 12, 'BP', 12, 'A' from dual
)
select c1, c2, c5, c3
, min(c4) as c4_min
, max(c4) as c4_max
from cte_matable
group by c1, c2, c5, c3, id - c4
order by c1, c2, c5, c3, min(c4);
C1 C2 C5 C3 C4_MIN C4_MAX
--- -- -- -- ------ ------
060 12 A BP 1 5
060 12 A BP 10 12 |
Partager