美文网首页
【LeetCode】177. 第N高的薪水

【LeetCode】177. 第N高的薪水

作者: Shenjiming | 来源:发表于2018-08-28 21:36 被阅读191次

    LeetCode数据库题目

    题目

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

    +----+--------+
    | Id | Salary |
    +----+--------+
    | 1  | 100    |
    | 2  | 200    |
    | 3  | 300    |
    +----+--------+
    

    例如上述 Employee 表,n = 2 时,应返回第二高的薪水 200 。如果不存在第n高的薪水,那么查询应返回 null

    +------------------------+
    | getNthHighestSalary(2) |
    +------------------------+
    | 200                    |
    +------------------------+
    

    思路

    1. 查询目标:Salary (As SecondHighestSalary)
    2. 查询范围:Emplpoyee表
    3. 查询条件:(1)返回第二高的薪水(2)如果不存在第二高的薪水,那么查询应返回 null。

    解答

    CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
    BEGIN
    
    set N = N - 1;
      
      RETURN (
          # Write your MySQL query statement below.
          select 
            (select distinct
                Salary
             from
                Employee
             order by Salary desc
             limit 1 offset N)
      );
    END
    

    相关文章

      网友评论

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

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