sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cuál es la mejor manera de paginar resultados en SQL Server?

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 usar OFFSET ... FETCH cláusula.
  • OFFSET la cláusula es obligatoria con FETCH . No puede usar ORDER BY ... FETCH .
  • TOP no se puede combinar con OFFSET y FETCH en la misma expresión de consulta.