名前、給与、その他の詳細を含む従業員テーブルをオラクルに持っています。
2 番目に高い給与を取得しようとしていますが、取得できません。
これは正常に動作します
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
しかし、同じクエリを使用して2番目に高い行をフェッチすると、出力が得られません
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
、最初の2つのレコードが出力されます。なぜ機能しrownum=2
ないのか誰か説明してください