Leetcode | Database | Nth Highest Salary

  • 题目描述
    写一个sql查询语言,得出employee表中排名第N高的salary,如果不存在,则返回null,例如下表中,当n=2时,排名第二高的salary为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)
  );
END

上述代码若是在较低版本的mysql中运行,则会报错,由于低版本的mysql中limit后不能跟变量。

猜你喜欢

转载自blog.csdn.net/qq_33186949/article/details/79114865