我正在使用 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 回答