Nếu bạn không thể sử dụng OFFSET-FETCH
trong SQL Server 2012 và giả sử bảng có khóa chính hoặc (các) cột cho phép bạn xác định duy nhất một hàng, hãy gọi nó là UniqueKey
, sau đó vào năm 2005 trở lên, bạn có thể sử dụng ROW_NUMBER
như thế này ...
SELECT UniqueKey, col2, col3
FROM
(
SELECT UniqueKey, col2, col3, ROW_NUMBER() OVER (ORDER BY UniqueKey) AS RowNum
FROM YourTable
) sub
WHERE sub.RowNum BETWEEN @startRow AND @endRow