with base as
(select
rental_date,
return_date,
row_number() over(order by rental_date, return_date) as rn,
lag(return_date, 1) over(order by rental_date, return_date) as prev
from rental
where customer_id = 1)
select *, sum(case when rental_date >= prev then 1 else 0 end) over(rn) from base