無盡SQL之 第二高的薪水
阿新 • • 發佈:2020-01-28
編寫一個 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