ORACLE中关于如何读取第N行到第M行的问题怎么解决
rt , n <m 并且m,n> 1
------解决方案--------------------大于1小于10的记录
select * from
(select tab.*,rownum rn from tab where rownum <=10) where rn> 1
------解决方案--------------------select * from tab where rownum> 1 and rownum <=10
------解决方案--------------------楼上的 你写的语句有结果吗?
------解决方案--------------------rownum 只能用来限定《=某个值,不能用来》=某个值,因为rownum是一个伪列,并且从1开始,好比空中楼台。
------解决方案--------------------ROWNUM,你只能从第1行的记录开始使用她,比如:select * from test where rownum <=10出来的是物理位置从1-10行的记录;select * from tset where rownum> 10 and rownum <=20,出来的就不会是11-20的记录了。
------解决方案--------------------select * from tab where rownum <M
minus
select * from tab where rownum <N
------解决方案--------------------row_number() over(order by XX) as rownum
然后取条件范围的记录
------解决方案--------------------SELECT * FROM (SELECT es.*,To_Number(id) t FROM ESSEARCHDATA es
WHERE TO_NUMBER(ID) <= ? * ? )
WHERE t > (? - 1) * ?
ORDER BY TO_NUMBER(ID) asc