Berikut adalah solusi menggunakan LAG
function atau Oracle, yang memberi Anda akses ke baris sebelumnya.
Dan, Anda seharusnya hanya mendapatkan baris 2 dan 5 dari tabel Anda, sesuai dengan persyaratan yang Anda miliki, karena baris 6 memiliki end_no
sebagai 224, yang tidak kurang dari end_no
dari baris5 yaitu 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;