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'utiliserOFFSET ... FETCH
clause.OFFSET
la clause est obligatoire avecFETCH
. Vous ne pouvez pas utiliserORDER BY ... FETCH
.TOP
non cumulable avecOFFSET
etFETCH
dans la même expression de requête.