编写一个 SQL 查询,获取 Employee 表中第 n 高的薪水(Salary)。
+----+--------+
| Id | Salary |
+----+--------+
| 1 | 100 |
| 2 | 200 |
| 3 | 300 |
+----+--------+
Code
CREATE FUNCTION GETNTHHIGHESTSALARY (
N IN NUMBER)
RETURN NUMBER
IS
RESULT NUMBER;
BEGIN
/* Write your PL/SQL query statement below */
SELECT SALARY
INTO RESULT
FROM EMPLOYEE E1
WHERE N-1=
(SELECT COUNT (DISTINCT SALARY)
FROM EMPLOYEE E2
WHERE E2.SALARY>E1.SALARY
) AND ROWNUM=1 ;
RETURN RESULT;
END;