查找第n高

一、查找第n高的薪水
在这里插入图片描述

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
  set N=N-1;
  RETURN (
      select distinct(salary) from employee order by salary desc limit N,1
      
  );
END

因为limit分页从0开始,要取第一个 就是0,1(这点还是不明白)

limit offset:\

select * from table limit 2 offset 1;
//从第1条(不包括)数据开始取出2条数据,limit后面跟的是2条数据,offset后面是从第1条开始读取,即读取第2,3条

二、查找第二高的薪水

在这里插入图片描述

select max(Salary) as SecondHighestSalary
from employee
where
salary<(select max(salary) from employee)
发布了4 篇原创文章 · 获赞 0 · 访问量 33

猜你喜欢

转载自blog.csdn.net/meira_go/article/details/104924806