题目
建表语句
Create table If Not Exists Employee (id int, salary int)
Truncate table Employee
insert into Employee (id, salary) values ('1', '100')
insert into Employee (id, salary) values ('2', '200')
insert into Employee (id, salary) values ('3', '300')
解题思路
将不同的薪资按降序排序,然后使用limit子句获得第二高的薪资。
但是这样不满足只有一条薪资的情况。
所以要考虑NULL的情况
SQL代码
SELECT
IFNULL(
(SELECT DISTINCT Salary
FROM Employee
ORDER BY Salary DESC
LIMIT 1 OFFSET 1),
NULL) AS SecondHighestSalary