Leetcode: Second Highest Salary

Write a SQL query to get the second highest salary from the Employee table.

+—-+——–+
| Id | Salary |
+—-+——–+
| 1 | 100 |
| 2 | 200 |
| 3 | 300 |
+—-+——–+
For example, given the above Employee table, the second highest salary is 200. If there is no second highest salary, then the query should return null.

Corner case:
Case 1: There is only one row in the table. Then I need return a null.

Case 2: There are more than one row that have highest Salary value, so the second highest salary isn’t the second one in order using “ORDER BY”. Then I will use “DISTINCT”.

select max(Salary) as SecondHighestSalary from ( select distinct Salary from Employee order by Salary desc limit 1,1 ) as a;

你可能感兴趣的:(Leetcode: Second Highest Salary)