176. Second Highest Salary

2018-07-18  本文已影响42人  wenmingxing
题目链接:

176. Second Highest Salary

解析:

看到这道题,我刚开始的想法是使用ORDER BY指令排序,然后通过LIMIT输出第二行数据就可以了,但是这样做会有两个bug,一个是如果存在两个Id有相同的Salary并且都为最高,则我们的输出还是最高Salary;另一个就是这样无法满足题目要求的If there is no second highest salary, then the query should return null。这是因为SELECT指令会在没有满足条件的输出时,会输出空。

所以我们应该使用MAX()函数,其满足没有记录时输出null的条件

题解:
# Write your MySQL query statement below
SELECT MAX(Salary) AS SecondHighestSalary FROM Employee 
WHERE Salary < (SELECT MAX(Salary) FROM Employee);  
上一篇下一篇

猜你喜欢

热点阅读