Puede usar esta plantilla sql para obtener el rango deseado de registros para SQL.
WITH [AnyVariable] AS
(
select * ,ROW_NUMBER() over(order by [Col1]) AS 'RowNum'
from [Table1]
)
SELECT * FROM [AnyVariable]
WHERE RowNum BETWEEN 3 AND 6
Simplemente reemplace las cosas en [] con sus cosas. Recuerde eliminar el []. Y luego usa esto en tu método anterior.