数据库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

全部评论

相关推荐

05-25 10:45
门头沟学院 Java
Frank_zhan...:没实习一个项目肯定不够,可以再做一个轮子,技术栈再补一个mq,微服务,整体再换个简历模板,暑期尽量再找一个日常实习
无实习如何秋招上岸
点赞 评论 收藏
分享
06-02 15:17
门头沟学院 Java
心爱的idea:怎么会呢 应该是打招呼有问题 问就说实习6个月全国可飞随时到岗
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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