欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

[LeetCode] Nth Highest Salary 第N高薪水

程序员文章站 2022-04-29 18:49:55
题目 编写一个 SQL 查询,获取 表中第 n 高的薪水(Salary)。 例如上述 表,n = 2 时,应返回第二高的薪水 。如果不存在第 n 高的薪水,那么查询应返回 。 解法 摘自: https://www.cnblogs.com/grandyang/p/5348976.html ......

题目
编写一个 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 (
      select distinct salary from employee group by salary
      order by salary desc limit 1 offset n
  );
end

摘自: