Finalmente, Microsoft SQL Server 2012 fue lanzado, realmente me gusta su simplicidad para una paginación, no tiene que usar consultas complejas como las respondidas aquí.
Para obtener las siguientes 10 filas, simplemente ejecute esta consulta:
SELECT * FROM TableName ORDER BY id OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY;
https://docs.microsoft.com/en-us/sql/t-sql/queries/select-order-by-clause-transact-sql#using-offset-and-fetch-to-limit-the-rows- devuelto
Puntos clave a considerar al usarlo:
ORDER BY
es obligatorio usarOFFSET ... FETCH
cláusula.OFFSET
la cláusula es obligatoria conFETCH
. No puede usarORDER BY ... FETCH
.TOP
no se puede combinar conOFFSET
yFETCH
en la misma expresión de consulta.