程序员的知识教程库

网站首页 > 教程分享 正文

2022-11-21:第N高的薪水。表结构和数据的sql语句如下。请问sql

henian88 2024-09-09 03:42:10 教程分享 12 ℃ 0 评论

2022-11-21:第N高的薪水。表结构和数据的sql语句如下。请问sql语句如何写?

DROP TABLE IF EXISTS employee;
CREATE TABLE employee (
  id int(11) NOT NULL,
  salary int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


INSERT INTO employee VALUES ('1', '100');
INSERT INTO employee VALUES ('2', '200');
INSERT INTO employee VALUES ('3', '300');


需要写的函数如下:
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
  RETURN (
      # 在这里写sql语句
      
  );
END

答案2022-11-21:


sql语句如下:

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
    SET N := N-1;
  RETURN (
      SELECT 
            salary
      FROM 
            employee
      GROUP BY 
            salary
      ORDER BY 
            salary DESC
      LIMIT N, 1
  );
END


select getNthHighestSalary(2);

执行结果如下:

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表