处理SQL中的第N高的成绩类似问题

利用SQL语句中的limit和offset
limit语法

limit n 分句表示:读取n条数据
limit n,m分句表示:跳过n条数据,读取m条数据
limit n offset m 分句表示:跳过m条数据,读取m条数据

使用
题目
处理SQL中的第N高的成绩类似问题_第1张图片
解决方法

--创建函数 N:第N高的成绩
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
--提前第N前的数据
 set n=N-1;
  RETURN (
      # Write your MySQL query statement below.
      --输出Salary不出现重复 distinct:不重复
      select distinct Salary
      --读取表
      from Employee
      --对Salary进行降序排序
      order by Salary desc
      --跳过n条数据,1表示读取第N条数据(只读取一条数据)
      limit n,1
  );
END

你可能感兴趣的:(sql,数据库)