龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

ORACLE中SQL分页语句

时间:2013-01-03 18:08来源:未知 作者:admin 点击:
分享到:
下面简单的分享了几条ORACLE中SQL分页语句,有需要的朋友可参考参考。 最常用的是方法一: 代码如下 select * from (select ROWNUM as rn, Src.* from tab Src) DataSet Where rn 10 and rn 20 方法二: select
下面简单的分享了几条ORACLE中SQL分页语句,有需要的朋友可参考参考。

最常用的是方法一:

 代码如下

select * from (select ROWNUM as rn, Src.* from tab Src) DataSet Where rn> 10 and rn< 20

方法二:

select * from (select ROWNUM as rn, Src.* from tab where rownum <= 150) where rn >= 100;


结果发现由于该语句会先生成rownum 后执行order by 子句,因而排序结果根本不对,后来在GOOGLE上搜到一篇文章,原来多套一层select 就能很好的解决该问题,特此记录,语句如下:

 代码如下

select * from

(select a.*,rownum row_num from

(select * from mytable t order by t.id desc) a

) b where b.row_num between 1 and 10


精彩图集

赞助商链接