Вы можете просто сделать это по-старому.Основывайтесь на этих примерах из продуктов.Найдите первую страницу:
SELECT TOP(@PageSize) ProductID, Description
FROM dbo.Products
ORDER BY ProductID;
Затем запомните последнее возвращенное значение и запросите следующую страницу:
SELECT TOP(@PageSize) ProductID, Description
FROM dbo.Products
WHERE ProductID > @LastProductID
ORDER BY ProductID;
Затем, чтобы вернуться на страницу, запомните первое возвращенное значение, а затем что-токак это:
SELECT *
FROM (SELECT TOP(@PageSize) ProductID, Description
FROM dbo.Products
WHERE ProductID < @FirstProductID
ORDER BY ProductID DESC) AS SelectedProducts
ORDER BY ProductID;
Это обычно намного превосходит OFFSET и FETCH NEXT