برای اینکه بد قولی نکرده باشم. رو مساله زیاد کار کردم. گرچه تا امروز مساله مشابه این رو حل نکرده بودم.
لطفا اسکریپت زیر رو در یک پنجره کوئری تو اسکیول سرور اجرا کنید و خروجیش رو بررسی کنید. اگه خروجی دقیقا اون چیزی بود که میخواستین بهم بگین تا تر تمیزش کنم و تحویلتون بدم:
-- 1 to 1000000
declare @t table(i int)
insert into @t
select top(1000000) row_number()over(order by (select 1)) from sys.columns a,sys.columns b, sys.columns c

-- Query
select i,case(i%250)when 0 then 249 else(i%250-1)end *8+((rnk+249)/250) as radif
from (select i, row_number() over(partition by (i+(8*250)-1)/(8*250) order by i) rnk
from @t
)d