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