文章目录
- 力扣高频SQL 50题(基础版)第三十七题
- 176.第二高的薪水
- 题目说明
- 实现过程
- 准备数据
- 实现方式
- 结果截图
- 总结
力扣高频SQL 50题(基础版)第三十七题
176.第二高的薪水
题目说明
Employee
表:
±------------±-----+
| Column Name | Type |
±------------±-----+
| id | int |
| salary | int |
±------------±-----+
在 SQL 中,id 是这个表的主键。
表的每一行包含员工的工资信息。
查询并返回 Employee
表中第二高的薪水 。如果不存在第二高的薪水,查询应该返回 null(Pandas 则返回 None)
。
实现过程
准备数据
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')
实现方式
select distinct (select ifnull((select distinct salary from Employee order by salary desc limit 1,1),null)) as SecondHighestSalary from Employee;
结果截图
总结
limit 用法:
select 列1,列2,... from _table [where Clause] [limit N][offset M]
- select * : 返回所有记录
- limit N : 返回 N 条记录
- offset M : 跳过 M 条记录, 默认 M=0, 单独使用似乎不起作用
- limit N,M : 相当于 limit M offset N , 从第 N 条记录开始, 返回 M 条记录