码迷,mamicode.com
首页 > 数据库 > 详细

leecode的sql练习之第二高的薪水

时间:2020-05-03 11:04:22      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:bsp   过程   编写   code   二次   color   sel   size   替换   

问题描述:编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary),如果不存在第二高的薪水,那么查询应返回 null 。

中间过程:

第一次:

select IFNULL((select Salary from Employee order by Salary desc limit 1,1),null) SecondHighestSalary;

错误原因:

技术图片

 

 

 第二次:

select ifnull((select salary from Employee order by salary asc limit 1,1),null) as SecondHighestSalary;

错误原因:

技术图片

第三次:

select IFNULL((select distinct salary from Employee order by salary asc limit 1,1),null) SecondHighestSalary;

错误原因:

技术图片

 

 正确结果:

select IFNULL((select distinct Salary from Employee order by Salary desc limit 1,1),null) SecondHighestSalary;

注意事项:

select ifnull(表达式1,表达式2)其中表达式1是那个字段需要判断是null,表达式2是该字段为null后的替换值。
order by 排序字段 排序方式(desc是降序,asc是升序) limit 1,1(分页第二高)
select distinct 列名 (去重)

 

leecode的sql练习之第二高的薪水

标签:bsp   过程   编写   code   二次   color   sel   size   替换   

原文地址:https://www.cnblogs.com/junxiaobai/p/12820801.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!