题目
编写一个 SQL 查询,获取Employee
表中第 n 高的薪水(Salary)。
例如上述 Employee
表,n = 2 时,应返回第二高的薪水200
。如果不存在第 n 高的薪水,那么查询应返回null
。
分析
1.去重
2.排序
3.limit
解答
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
set n = n-1;
RETURN (
# Write your MySQL query statement below.
select distinct Salary
from Employee order by Salary desc
limit 1 offset n
);
END