去重,使用order by 进行降序排序,limit 选出第二条,IFNULL函数判断是否为NULL
selectifnull((select distinct salaryfrom Employeeorder by salary desclimit 1,1),null)as SecondHighestSalary
知识点:
1、当 limit后面跟一个参数的时候,该参数表示要取的数据的数量
例如 select from user limit 3 表示直接取前三条数据
2、当limit后面跟两个参数的时候,第一个数表示要跳过的数量,后一位表示要取的数量,例如
select from user limit 1,3;
就是跳过1条数据,从第2条数据开始取,取3条数据,也就是取2,3,4三条数据
3、当 limit和offset组合使用的时候,limit后面只能有一个参数,表示要取的的数量,offset表示要跳过的数量 。
例如select * from user limit 3 offset 1;表示跳过1条数据,从第2条数据开始取,取3条数据,也就是取2,3,4三条数据
