编写一个 SQL 查询,获取 Employee
表中第二高的薪水(Salary) 。
+----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | | 2 | 200 | | 3 | 300 | +----+--------+
例如上述 Employee
表,SQL查询应该返回 200
作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null
。
+---------------------+ | SecondHighestSalary | +---------------------+ | 200 | +---------------------+
最高:MAX 第二高:小于MAX中数据的MAX
So show you my code:
# Write your MySQL query statement below
SELECT MAX(Salary) AS SecondHighestSalary
FROM Employee
WHERE Salary< (SELECT Max(Salary) FROM Employee)
Runtime: 149 ms
P.S.MySQL下没有RANK() OVER (ORDER BY Salary DESC),而Orcale下使用时,当数据表中仅有一行数据时输出值为空,而非NULL