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;
使用時に考慮すべき重要なポイント:
ORDER BY
句の使用は必須ですOFFSET ... FETCH
。OFFSET
句は では必須ですFETCH
。 は使用できませんORDER BY ... FETCH
。TOP
同じクエリ式内でOFFSET
andと組み合わせることはできません。FETCH