使用rownum <= 可以查询;用>=显示未选定行,这是什么原因呢?

select e1.* from (select * from emp order by hiredate) e1 where rownum <=10
可以出结果;
select e1.* from (select * from emp order by hiredate) e1 where rownum >=3;
除了1以外,都显示未选定行
为什么???

米脂
浏览 333回答 2
2回答

阿晨1998

试试这样select e1.*,case when rownum>=3 then '未选定' else '选定' end selfrom (select * from emp order by hiredate) e1 where rownum <=10

白衣染霜花

因为rownum是查询出来数据后进行的排序,所以用>=n的时候不行,可以这样理解,你要给依次到来的10个小朋友编号1-10,所以,你肯定不能从3开始编到10(这里类似于>=3),但是你却可以给只到来的前3个小朋友编号为1-3(这里类似于<=3)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Oracle
MySQL