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 prev >= rental_date then 0 else 1 end) over(partition by rn) from base