row_number () - это правильная оконная функция, которую нужно использовать.
'partition by' делает так, чтобы вы получали различную последовательность чисел для каждого отдельного значения в разделе по спецификации (их может быть больше, чемодин столбец, указанный здесь), и последовательность сортируется по спецификации 'order by' (опять же, это может быть больше одного столбца; каждый столбец может быть отсортирован как asc или desc, так же, как и обычный синтаксис 'order by').
Эта оконная функция была введена в SQL Server 2008.
select
row_number() over (partition by Column1 order by Column3) as Seq,
Column1,
Column2,
Column3
from
mytable