题目:
编写一个 SQL 查询,获取Employee 表中第二高的薪水(Salary) 。
image例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null。
结果如下:
image参考答案:
数据库版本:Server version: 8.0.20 MySQL Community Server - GPL
建表语句
create table dailytest_20200623(
id int,
salary int);
数据准备
insert into dailytest_20200623 values (1,100),(2,200),(3,300),(4,300),(5,400);
查询逻辑
select A.id,
A.salary
from (select
id,
salary,
rank() over (order by salary asc) as cn
from dailytest_20200623) A
where A.cn = 2;
附:
题目来源:https://mp.weixin.qq.com/s/PezIUSeIwrZr-T7bTMEwbQ
参考:https://blog.csdn.net/shaiguchun9503/article/details/82349050
网友评论