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

后端 未结 18 1351
孤城傲影
孤城傲影 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:54

    SELECT * FROM EMP WHERE SAL=(SELECT MAX(SAL) FROM EMP WHERE SAL<(SELECT MAX(SAL) FROM EMP));

    (OR) SELECT ENAME ,SAL FROM EMP ORDER BY SAL DESC;

    (OR) SELECT * FROM(SELECT ENAME,SAL ,DENSE_RANK() OVER(PARTITION BY DEPTNO ORDER BY SAL DESC) R FROM EMP) WHERE R=2;

提交回复
热议问题