数据库SQL-第二高的薪水

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

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

例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null。

法一:
SELECT MAX(Salary) AS SecondHighestSalary FROM Employee
WHERE Salary != (SELECT MAX(Salary) FROM Employee)
法二:
SELECT MAX(Salary) AS SecondHighestSalary FROM Employee
WHERE Salary < (SELECT MAX(Salary) FROM Employee)
法三:
select IFNULL((select distinct(Salary) 
from Employee
order by Salary desc
limit 1,1),null) as SecondHighestSalary

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/second-highest-salary

全部评论

相关推荐

02-10 13:41
西南大学 Java
点赞 评论 收藏
分享
奔跑的suechil...:怎么评论区这么多打广告的 1.项目考虑是两个,可以加个项目 2.bg一般的话,不建议外卖加点评,99%都过不了简历 3.找项目要么是自己找github好点的开源,要么是评论区找广告去跟着,要么就是星球找项目了 加油友友
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务