我在 oracle 中有一张员工表,上面有姓名、薪水和其他详细信息。
我想拿到第二高的薪水,但拿不到。
这个工作正常
with e_salary as (select distinct salary from employee)
select salary from e_salary
order by salary desc
并给出输出:
450000
61000
60000
50000
40000
30000
20000
6000
但是当我使用相同的查询来获取第二高的行时没有得到任何输出
select salary
from ( with e_salary as (select distinct salary from employee)
select salary from e_salary order by salary desc)
where rownum = 2
但是当我用它替换rownum=2
它时,rownum<2
它会给出前两条记录的输出。请有人解释为什么rownum=2
不起作用