У меня есть такая таблица:
col1 col2
1 2020-01-15
1 2020-01-16
1 2020-01-17
1 2020-01-18
1 2020-01-20
2 2020-01-09
2 2020-01-10
2 2020-01-15
, и я вычисляю ранг вот так
select
col1,
col2,
date_sub(col2, -row_number() over (partition by col1 order by col2)) as rnk
from myTable
и получаю ранг
col1 col2 rnk
1 2020-01-15 1
1 2020-01-16 2
1 2020-01-17 3
1 2020-01-18 4
1 2020-01-20 5
2 2020-01-09 1
2 2020-01-10 2
2 2020-01-15 3
, но мне нужен ранг вот так
col1 col2 rnk
1 2020-01-15 1
1 2020-01-16 2
1 2020-01-17 3
1 2020-01-18 4
1 2020-01-20 1
2 2020-01-09 1
2 2020-01-10 2
2 2020-01-15 1
изменяется всякий раз, когда последовательное изменение даты, например 18 и 20, не является последовательным для пользователя 1, поэтому его можно изменить, я не уверен, как этого добиться