您的位置:首页 > 数据库

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

2018-09-14 17:36 78 查看

解题思路:

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

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

另外一种简洁的方法

[code]select max(Salary) as SecondHighestSalary from Employee
where Salary<(select max(Salary) from Employee)

第三种方法

[code]select IFNULL((select Distinct Salary from Employee order by Salary DESC limit 1,1),null)
as SecondHighestSalary

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: