declare @Foo as table ( FooId int identity, Bar varchar(16) )
insert into @Foo ( Bar ) values ( 'this' ), ( 'is' ), ( 'some' ), ( 'sample' ), ( 'data' ), ( 'eh?' )
declare @PageSize int = 3
-- Display the page numbers. Note that there must be an explicit order.
select FooId, Bar, ( RN + @PageSize - 1 ) / @PageSize as Page
from (
select FooId, Bar, Row_Number() over ( order by Bar ) as RN
from @Foo
) as Janet
-- Retrieve a single page number based on a FooId .
select FooId, Bar, ( RN + @PageSize - 1 ) / @PageSize as Page
from (
select FooId, Bar, Row_Number() over ( order by Bar ) as RN
from @Foo
) as Janet
where FooId = 3