【www.bbyears.com--Oracle教程】
最常用的是方法一:
代码如下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