1. 程式人生 > 資料庫 >無盡SQL之 第二高的薪水

無盡SQL之 第二高的薪水

編寫一個 SQL 查詢,獲取 Employee 表中第二高的薪水(Salary) 。

Id Salary
1 100
2 200
3 300

例如上述 Employee 表,SQL查詢應該返回 200 作為第二高的薪水。如果不存在第二高的薪水,那麼查詢應返回 null。

SecondHighestSalary
200

思路:

limit限制返回的數量, offset可以返回結果區特定的行
ifnull(a,null): a 如果為空 返回null
如果不使用ifnull,就會返回0條記錄(啥也沒返回)

所以必須通過ifnull 來返回 null(此時null是個值,是個結果返回)

題解:

# Write your MySQL query statement below
select 
ifnull(
(select distinct Salary from Employee
order by Salary desc
limit 1 offset 1),null) 
as SecondHighestSalary