0%

Leetcode176 Second Highest Salary

Problem:

Intuition:

为了在没有查找到数据时返回 null,需要在查询结果外面再套一层 SELECT。

limit是mysql的语法

select * from table limit [m],n;

其中,m—— [m]为可选,如果填写表示skip步长,即跳过m条。

  n——显示条数。指从第m+1条记录开始,取n条记录。
如:
select * from stu limit 2,4;
即:取stu表中第3至第6条,共4条记录。
select * from stu limit 5;
即:取stu表中前5条,共5条记录。

这一题中查找第二大的,所以是跳过一条,取一条记录,两个参数都取1.

Solution:

1
2
3
4
5
SELECT
( SELECT DISTINCT Salary
FROM Employee
ORDER BY Salary DESC
LIMIT 1, 1 ) SecondHighestSalary;