Til sidst, Microsoft SQL Server 2012 blev udgivet, kan jeg virkelig godt lide dens enkelhed for en paginering, du behøver ikke at bruge komplekse forespørgsler som besvaret her.
For at få de næste 10 rækker skal du bare køre denne forespørgsel:
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- returneret
Nøglepunkter at overveje, når du bruger det:
ORDER BYer obligatorisk at brugeOFFSET ... FETCHklausul.OFFSETklausul er obligatorisk medFETCH. Du kan ikke brugeORDER BY ... FETCH.TOPkan ikke kombineres medOFFSETogFETCHi det samme forespørgselsudtryk.