最後に、 Microsoft SQL Server 2012 がリリースされました。ページネーションのシンプルさが本当に気に入っています。ここで回答したような複雑なクエリを使用する必要はありません。
次の10行を取得するには、次のクエリを実行します:
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-返されました
使用時に考慮すべき重要なポイント:
-
ORDER BYOFFSET ... FETCHを使用するために必須です 条項。 OFFSETFETCHでは句が必須です 。ORDER BY ... FETCHは使用できません 。-
TOPOFFSETと組み合わせることはできません およびFETCH同じqueryexpressionで。