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楼,我就要直接从二楼盖,可能吗?
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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯