永发信息网

select ename,sal,rownum from emp where rownum>=6 and rownum<=9;请问为什么会没有显示结果呢?

答案:2  悬赏:60  手机版
解决时间 2021-01-27 07:08
  • 提问者网友:战魂
  • 2021-01-26 06:45
select ename,sal,rownum from emp where rownum>=6 and rownum<=9;请问为什么会没有显示结果呢?
最佳答案
  • 五星知识达人网友:罪歌
  • 2021-01-26 07:51
rownum实例化,这么写就行了:
select ename,sal,rn
from (select ename,sal,rownum as rn from emp)
where rn>=6 and rn<=9;

因为rownum是一个伪序列,始终都是从1开始的,不能直接从2开始,就像你盖楼一样,不想盖1楼,我就要直接从二楼盖,可能吗?
全部回答
  • 1楼网友:煞尾
  • 2021-01-26 09:07
select sal, ename from emp order by sal desc 这句是说把查找到的sal,ename按照sal由高到低排列, 外面套的那个是把上面那句查询结果当作一个临时表或者视图,查找他的第一行 rownum = 1 所以查到的应该是 sal最大的一个值 等价于 select top 1 sal, ename from emp order by sal desc
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯