我已经尝试了以下查询:
select empno from (
select empno
from emp
order by sal desc
)
where rownum = 2
这不返回任何记录。
当我尝试这个查询
select rownum,empno from (
select empno from emp order by sal desc)
它给了我这个输出:
ROWNUM EMPNO
1 7802
2 7809
3 7813
4 7823
谁能告诉我我的第一个查询是什么问题?为什么在添加ROWNUM过滤器时不返回任何记录?
最佳答案
引用Understanding Oracle rownum
您应该以这种方式修改查询才能工作:
select empno
from
(
select empno, rownum as rn
from (
select empno
from emp
order by sal desc
)
)
where rn=2;
编辑:我已更正查询,以便在saltc的命令之后获得行编号
关于sql - 使用rownum选择表的第二行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9240192/