2022-11-21:第N高的薪水。表结构和数据的sql语句如下。请问sql语句如何写? DROP TABLE IF EXISTS employee; CREATE TABLE employee (

Posted 福大大架构师每日一题

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2022-11-21:第N高的薪水。表结构和数据的sql语句如下。请问sql语句如何写? DROP TABLE IF EXISTS employee; CREATE TABLE employee (相关的知识,希望对你有一定的参考价值。

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);

执行结果如下:

以上是关于2022-11-21:第N高的薪水。表结构和数据的sql语句如下。请问sql语句如何写? DROP TABLE IF EXISTS employee; CREATE TABLE employee (的主要内容,如果未能解决你的问题,请参考以下文章

2022-11-19:第二高的薪水。表结构和数据的sql语句如下,输出200,因为200是第二大的。请问sql语句如何写? DROP TABLE IF EXISTS `employee`; CREAT

177. 第N高的薪水

177. 第N高的薪水

Leetcode No.177 第N高的薪水

文巾解题 177. 第N高的薪水

leetcode177---查询第N高的薪水