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 回答