SQL Server で結果をページ分割する最適な方法は何ですか? 質問する

SQL Server で結果をページ分割する最適な方法は何ですか? 質問する

SQL Server 2000、2005、2008、2012 で結果をページ分割する最適な方法 (パフォーマンスの観点) は何ですか。また、結果の合計数も取得したい場合 (ページ分割前) はどうなりますか。

ベストアンサー1

ついに、Microsoft SQL Server 2012がリリースされました。ページネーションのシンプルさが本当に気に入っています。ここで回答されているような複雑なクエリを使用する必要はありません。

次の 10 行を取得するには、次のクエリを実行します。

SELECT * FROM TableName ORDER BY id OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY;

https://learn.microsoft.com/en-us/sql/t-sql/queries/select-order-by-clause-transact-sql#オフセットとフェッチを使用して返される行数を制限する

使用時に考慮すべき重要なポイント:

  • ORDER BY句の使用は必須ですOFFSET ... FETCH
  • OFFSET句は では必須ですFETCH。 は使用できませんORDER BY ... FETCH
  • TOP同じクエリ式内でOFFSETandと組み合わせることはできません。FETCH

おすすめ記事