编写一个 SQL 查询,获取 Employee
表中第 n 高的薪水(Salary)。
例如上述 Employee
表,n = 2 时,应返回第二高的薪水 200
。如果不存在第 n 高的薪水,那么查询应返回 null
。
LIMIT m,n "m"表示偏移量,表示从第几位开始取。"n"表示长度,即需要取多少位。
需要注意的是偏移量的第一位为0,所以"LIMIT 1,1"表示从第二位开始取长度为1的数也就是第二位数。
"LIMIT 0,n"或者"LIMIT n "则表示从第一位开始取,一直取到第n位为止。"LIMIT m,-1"表示从第m位开始取,一直取到表的末尾
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 n,1
);
END