编写一个 SQL 查询,获取 Employee
表中第 n 高的薪水(Salary)。
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
SET n = N-1;
RETURN (
SELECT DISTINCT Salary FROM Employee ORDER BY Salary DESC LIMIT n,1
);
END
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
RETURN (
SELECT IF(count<N,NULL,min)
FROM
(SELECT MIN(Salary) AS min, COUNT(1) AS count
FROM
(SELECT DISTINCT Salary
FROM Employee ORDER BY Salary DESC LIMIT N) AS a
) as b
);
END