继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

(LeetCode:数据库)第N高薪水

慕村9548890
关注TA
已关注
手记 1296
粉丝 227
获赞 991

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

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

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

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

Solution:

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INTBEGIN
    Declare M int;
    Set M = N-1;  RETURN (      # Write your MySQL query statement below.
      select IFNULL((select distinct Salary from Employee order by Salary DESC limit M,1),NULL) AS getNthHighestSalary
  );
END



作者:lconcise
链接:https://www.jianshu.com/p/0e0f5cf21894


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP