match_recognize
. का उपयोग करके एक सुंदर (और कुशल) समाधान है खंड (जिसके लिए Oracle 12.1 या उच्चतर की आवश्यकता है)।
select po, startdate, enddate
from orders
match_recognize (
partition by po
order by startdate
measures first(startdate) as startdate, max(enddate) as enddate
pattern ( c* n )
define c as max(enddate) + 1 >= next(startdate)
);