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以外,都显示未选定行为什么???
2 回答
阿晨1998
TA贡献2037条经验 获得超6个赞
试试这样
select e1.*,case when rownum>=3 then '未选定' else '选定' end sel
from (select * from emp order by hiredate) e1 where rownum <=10
白衣染霜花
TA贡献1796条经验 获得超10个赞
因为rownum是查询出来数据后进行的排序,所以用>=n的时候不行,可以这样理解,你要给依次到来的10个小朋友编号1-10,所以,你肯定不能从3开始编到10(这里类似于>=3),但是你却可以给只到来的前3个小朋友编号为1-3(这里类似于<=3)
添加回答
举报
0/150
提交
取消