0

私は Oracle データベースを使用しており、19 億行のレコードを持つテーブルがあります。100,000,001 から 200,000,000 までの範囲のレコードの行を取得したいと考えています。誰かがこれについて私を助けることができますか? 前もって感謝します。

4

2 に答える 2

2

一般的に言えば、次の形式のページネーションクエリが必要です。

select t.*
   from (select t.*, rownum rn
           from (select t.yourfields
                   from yourtab t
                  order by t.something)
          where rownum <= end_rownum
        ) t
  where rn >= offset;

また

select *
  from (select t.yourfields, row_number() over (order by t.something) rn
          from yourtab t)
 where rn between start_rownum and end_rownum;
于 2013-04-04T09:59:25.570 に答える
0

これらの範囲が意味する場合rownum、ここに簡単なクエリがあります

select * from (select e.*,rownum test from hr.employees e) where test>5 and test <50;
于 2013-04-04T10:41:20.340 に答える