1

100 行のテーブルがあり、SELECT を「ページング」するように、それらの一部 (たとえば、行 20 から 30) だけを選択したいと考えています。

SQL Server 2008 R2 でこれを行う効率的な方法はどれですか?

4

1 に答える 1

3

このようにすることができます (テーブルが "tablename" と呼ばれ、主キーが id で、行 10 から 15 が必要であると仮定します)。

select * from 
(select *,row_number() over (order by id) as r from tablename)
t where r >10 and r < 15;

非効率的に見えるかもしれませんが、これはlinqで内部的に行われる方法です。

于 2013-03-27T22:18:13.213 に答える