Кажется, нашел ответ. документ :
Все функции, перечисленные в таблице 9.60, зависят от порядка сортировки, указанного в предложении ORDER BY соответствующего определения окна. Строки, которые не различаются при рассмотрении только столбцов ORDER BY, называются равноправными. Четыре функции ранжирования (включая cume_dist) определены так, что они дают одинаковый ответ для всех строк одноранговых узлов.
select
a.docn as agreement,
o.id as order_id,
(dense_rank() over (PARTITION BY a.id, o.id ORDER BY ois.consumed_period )) as group_id,
Здесь я использую dense_rank
до Rank the current row within its partition
without gaps
и использую от order by
до create peers
.
Таким образом, dense_rank
присваивает следующий номер каждому отдельному значению ois.consumed_period