时间:2021-07-01 10:21:17 帮助过:44人阅读
ORCALE数据库分页查询 ORCALE数据库实现分页查询可以使用row_number()函数或者使用rownum 虚列两种方法。 第一种:利用分析函数row_number() 方法 select * from( select t.*,row_number() over (order by t1.id) rowno from TABLE1 ) where rowno between 2
ORCALE数据库分页查询
ORCALE数据库实现分页查询可以使用row_number()函数或者使用rownum 虚列两种方法。
第一种:利用分析函数row_number() 方法
select * from(
select t.*,row_number() over (order by t1.id) rowno from TABLE1
)
where rowno between 21 and 40;
第二种:直接使用rownum 虚列
select * from
(select t.*,rownum as rowno from TABLE1 )
where rowno between 10 and 20
这两种方法比较,显然第二种方法比较好。因为不用order by语句,会提高检索数据的速度的,尤其数据量越大时,第二种方法快速检索数据越明显。
最后提醒大家:oracle中慎用带有order by的分页。尤其是在oracle10g中,会出现会引起混乱,即相同记录会出现在不同页中。
http://blog.csdn.net/guyong1018/archive/2008/03/14/2183057.aspx