【LeetCode】177.第N高的薪水
177.第N高的薪水
編寫一個 SQL 查詢語句,獲取Employee
表中第n高的薪水(Salary)。
用到的表和資料SQL:
Create table If Not Exists Employee (Idint, Salary int);
Truncate table Employee;
insert into Employee (Id, Salary) values('1', '100');
insert into Employee (Id, Salary) values('2', '200');
insert into Employee (Id, Salary) values('3', '300');
答案:
此題和第二高的薪水有相似之處,算作它的擴充套件題,這裡也可以作為第二高薪水的答案;
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
RETURN (
select Max(Salary) from Employee e1
where N = ( select count(distinct(e2.Salary)) from Employee e2 where e2.Salary >=e1.Salary )
);
END
寫的比較粗糙,有不理解的可以掃描二維碼加QQ群找我解答。