Hier is een oplossing met LAG
functie of Oracle, waarmee u toegang krijgt tot de vorige rij.
En u zou alleen rij 2 en 5 uit uw tabel moeten halen, volgens de vereisten die u heeft, aangezien rij 6 end_no
heeft als 224, wat niet minder is dan end_no
van rij5 dat is 223
SELECT id, name, start_no, end_no
FROM (
SELECT id, name, start_no, end_no,
lag(start_no, 1, 0) over (order by id) prev_start_no ,
lag(end_no, 1, 0) over (order by id) prev_end_no
FROM test
)
WHERE start_no BETWEEN prev_start_no AND prev_end_no
AND end_no BETWEEN prev_start_no AND prev_end_no;