Другой ответ близок, но ему нужно CASE
для учета Rownumber 3
select
RowNumber = case when row_number() over (order by a) % 3 = 0 then 3 else row_number() over (order by a) % 3 end
,a
from (values(1),(2),(3),(4),(5),(6),(7),(8)) as V(a)
Так что в вашем случае
RowNumber = case when row_number() over (order by Year) % 3 = 0 then 3 else row_number() over (order by Year) % 3 end
Или, используя REPLACE
RowNumber = replace(row_number() over (order by Year) % 3,0,3)