SQLServer – Limit and Offset

Dica muito interessante a respeito do uso de Limit e Offset no SQLServer, o autor cria uma espécie de VIEW temporária com uma contagem de linhas. Logo após é feita a execução da view com os parâmetros desejados.

WITH view_temp AS(
SELECT
Col1, Col2, ...,
ROW_NUMBER() OVER (ORDER BY SortCol1, SortCol2, ...) AS RowNum
FROM Table
WHERE <whatever>
)
SELECT * FROM view_temp WHERE RowNum >= @Offset AND RowNum < @Offset + @Limit

 

Adaptado de: http://stackoverflow.com.