您的位置:首页 > 其它

Leetcode: Second Highest Salary

2015-05-14 11:30 351 查看
Get idea from here

Question

Write a SQL query to get the second highest salary from the Employee table.

+—-+——–+

| Id | Salary |

+—-+——–+

| 1 | 100 |

| 2 | 200 |

| 3 | 300 |

+—-+——–+

For example, given the above Employee table, the second highest salary is 200. If there is no second highest salary, then the query should return null.

Other′s Solution

v1.

Second one should be less than Max one

[code]# Write your MySQL query statement below
select max(Salary)
from Employee
where Salary<(select max(Salary) from Employee)


v2.

using left join will avoid that null does not appear. We make a observation that the max one will not appear in e2

[code]# Write your MySQL query statement below
select e2.Salary
from Employee e1 left join Employee e2 on e1.Salary>e2.Salary
order by e2.Salary desc
limit 1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: