最後に、 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 BY
OFFSET ... FETCH
を使用するために必須です 条項。 OFFSET
FETCH
では句が必須です 。ORDER BY ... FETCH
は使用できません 。-
TOP
OFFSET
と組み合わせることはできません およびFETCH
同じqueryexpressionで。