数据库查询-第N高的薪水

数据库查询-第N高的薪水_第1张图片

参考答案:

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
Declare M INT; 
Set M = N-1; 
  RETURN (
      //Write your MySQL query statement below.
      SELECT DISTINCT Salary FROM Employee ORDER BY Salary DESC LIMIT M, 1 
  );
END

答案分析:

按照薪水倒序排序,最大的放在第一位,选择第二大的

SELECT DISTINCT Salary FROM Employee ORDER BY Salary DESC LIMIT M, 1 

知识点补充:limit 函数

  • 一个参数时代表查询数量
  • 两个参数时,第一个参数代表检索偏移量(从0开始),第二个参数代表查询数量
//查询按学号排序后学生表中的前四项数据(即第1-4行)
select * from Student order by SNO limit 4;
//查询按学号排序后学生表中的从第四项到最后一项的数据中的前两项(即排序表中的第4、5两行)
select * from Student order by SNO limit 4,2;

此处有参考https://blog.csdn.net/a912952381/article/details/80732104

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