Похоже, что каждое значение больше 1 сбрасывает счетчик, верно?
Если это так, вы можете сначала назначить номер группы, исходя из того, сколько раз значение> 1 встречается до текущей строки (включая).Таким образом, строки с 1 по 11 будут группой 0, 12 и 13 будут группой 1 и так далее.
Затем вы можете применить оконную функцию row_number для генерации нумерации, разбитой на эту группу:
with VW_GROUPED as (
select
t.*,
(select count(*) from TheTable x where x.URN <= t.URN and x.GAPNOOFDAYS > 1) as GROUPNO
from
TheTable /* <- your table name here */ t)
select
g.URN,
g.CUSTOMER_ID,
g.GAPNOOFDAYS,
row_number() over (partition by GROUPNO order by URN) as "Counter I need to generate"
from
VW_GROUPED g