当前位置:数据库 > Oracle >>

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

补充:数据库,Oracle教程
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,