Leetcode 176. 第二高的薪水
阿新 • • 發佈:2018-11-13
編寫一個 SQL 查詢,獲取 Employee
表中第二高的薪水(Salary) 。
+----+--------+
| Id | Salary |
+----+--------+
| 1 | 100 |
| 2 | 200 |
| 3 | 300 |
+----+--------+
例如上述 Employee
表,SQL查詢應該返回 200
作為第二高的薪水。如果不存在第二高的薪水,那麼查詢應返回 null
。
+---------------------+ | SecondHighestSalary | +---------------------+ | 200 | +---------------------+
開始思路,倒敘排列Salary不重複的資料,再用limit 選擇第二個即可:.
select DISTINCT Salary as SecondHighestSalary from Employee order by Salary DESC limit 1 offset 1
可是當不存在資料時,返回的是空,並不是null。
在外層再巢狀一個select,即:
select (select DISTINCT Salary from Employee order by Salary DESC limit 1 offset 1) as SecondHighestSalary