Вы можете использовать функцию ROW_NUMBER()
:
WITH paging AS
(
SELECT
ROW_NUMBER() OVER (ORDER BY COLUMN) AS rowNum,
...
FROM table
)
SELECT *
FROM paging
WHERE rowNum BETWEEN 1 AND 12
Это создает CTE, но может также использовать временную таблицу или табличную переменную. Затем можно добавить некоторые параметры, чтобы указать целые числа для предложения BETWEEN
.