Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Was ist der beste Weg, um Ergebnisse in SQL Server zu paginieren?

Schließlich Microsoft SQL Server 2012 veröffentlicht wurde, ich mag seine Einfachheit für eine Paginierung sehr, Sie müssen keine komplexen Abfragen verwenden, wie sie hier beantwortet werden.

Um die nächsten 10 Zeilen zu erhalten, führen Sie einfach diese Abfrage aus:

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- zurückgegeben

Wichtige Punkte, die bei der Verwendung zu beachten sind:

  • ORDER BY ist die Verwendung von OFFSET ... FETCH obligatorisch Klausel.
  • OFFSET -Klausel ist bei FETCH obligatorisch . Sie können ORDER BY ... FETCH nicht verwenden .
  • TOP kann nicht mit OFFSET kombiniert werden und FETCH im selben Abfrageausdruck.