Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Quelle est la meilleure façon de paginer les résultats dans SQL Server

Enfin, Microsoft SQL Server 2012 a été publié, j'aime beaucoup sa simplicité pour une pagination, vous n'avez pas besoin d'utiliser des requêtes complexes comme ici.

Pour obtenir les 10 lignes suivantes, exécutez simplement cette requête :

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- renvoyé

Points clés à prendre en compte lors de son utilisation :

  • ORDER BY est obligatoire d'utiliser OFFSET ... FETCH clause.
  • OFFSET la clause est obligatoire avec FETCH . Vous ne pouvez pas utiliser ORDER BY ... FETCH .
  • TOP non cumulable avec OFFSET et FETCH dans la même expression de requête.