编写一个 SQL 查询,获取 Employee 表中第 n 高的薪水(Salary)。
+----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | | 2 | 200 | | 3 | 300 | +----+--------+
例如上述 Employee 表,n = 2 时,应返回第二高的薪水 200。如果不存在第 n 高的薪水,那么查询应返回 null。
+------------------------+ | getNthHighestSalary(2) | +------------------------+ | 200 | +------------------------+
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
SET N=N-1;
RETURN (
# Write your MySQL query statement below.
SELECT IFNULL(
(select DISTINCT Salary
from Employee
order by Salary desc
limit N,1
),null) as getNthHighestSalary
);
END
本文介绍如何使用SQL编写查询语句,从Employee表中获取第N高的薪水。通过一个具体的例子展示了当N等于2时,如何返回第二高的薪水200。如果不存在第N高的薪水,查询将返回null。
815

被折叠的 条评论
为什么被折叠?



