我想要用ROWNUM在数据库查询截取范围,查不出值是为什么?求大佬指点

select * from table where ROWNUM>=0 and ROWNUM <18这么搜可以搜出值
select * from table where ROWNUM>=18 and ROWNUM <36这么搜就搜不出值了是为什么?
table中记录一共有3000+条

宝慕林4294392
浏览 426回答 2
2回答

慕斯王

oracle的rownum直接调用必须从1开始你想要达到第二个效果如下: 原理就是把rownum在子查询中变成真实字段而不是伪列select *from (select *,rownum as rn from table ) twhere rn>=18 and rn<36

HUX布斯

rownum不适用于>符号需要改成嵌套型
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL
Oracle