美文网首页领扣(leetcode)
177. 第N高的薪水

177. 第N高的薪水

作者: 莫小鹏 | 来源:发表于2018-09-21 22:17 被阅读0次

    题目描述

    编写一个 SQL 查询,获取 Employee 表中第 n 高的薪水(Salary)。

    
    +----+--------+
    | Id | Salary |
    +----+--------+
    | 1  | 100    |
    | 2  | 200    |
    | 3  | 300    |
    +----+--------+
    例如上述 Employee 表,n = 2 时,应返回第二高的薪水 200。如果不存在第 n 高的薪水,那么查询应返回 null。
    
    +------------------------+
    | getNthHighestSalary(2) |
    +------------------------+
    | 200                    |
    +------------------------+
    

    分析

    排序的问题可以通过order by和limit搞定

    代码

    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
    

    题目链接

    https://leetcode-cn.com/problems/nth-highest-salary/description/

    相关文章

      网友评论

        本文标题:177. 第N高的薪水

        本文链接:https://www.haomeiwen.com/subject/lszznftx.html