欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-08 15:59:22
...

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

解题思路:

找出第二高的薪水,先找出表里的最大值e1.Salary,再找出表里的最大值e2.Salary,两者进行比较,e1.Salary<e2.Salary,找出的e1.Salary即是第二高的薪水

select max(Salary) as SecondHighestSalary from Employee e1 where 
(select max(Salary) from Employee e2 where e1.Salary<e2.Salary)

另外一种简洁的方法

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

 

相关标签: 数据库 第二大