How can I select the record with the 2nd highest salary in database Oracle?

后端 未结 18 1431
孤城傲影
孤城傲影 2020-12-30 17:27

Suppose I have a table employee with id, user_name, salary. How can I select the record with the 2nd highest salary in Oracle?

I googled it, find this solution, is t

18条回答
  •  余生分开走
    2020-12-30 17:58

    WITH records
    AS
    (
        SELECT  id, user_name, salary,
                DENSE_RANK() OVER (PARTITION BY id ORDER BY salary DESC) rn
        FROM    tableName
    )
    SELECT  id, user_name, salary
    FROM    records 
    WHERE   rn = 2
    
    • DENSE_RANK()

提交回复
热议问题