SQL,176. Second Highest Salary

这道题我只想到第二高数据,那个null真没弄明白,看了答案,写了两个,不过我还是喜欢第二个,虽然第一个答案跟我写的差不多就是外层多了一个select,别名也在外面,哈哈,这么一说,差距挺大的

--------------------------------------------------------------------------

第一种方法:

select (select distinct Salary from Employee order by Salary desc limit 1 offset 1) as SecondHighestSalary

查询出数据,不考虑是否有值还是null,然后外层select查询数据并指定别名,当值为空的时候,默认赋值null,我觉得是这样的。

第二种方法:这个方法直接使用ifnull,当数据为空的时候,赋值为null,然后外层Select查数据,给指定别名,select相当于直接查询表,以前没这么用过,哈哈哈,还是菜啊

select ifnull( (select distinct Salary from Employee order by Salary desc limit 1 offset 1),null)   as SecondHighestSalary

猜你喜欢

转载自my.oschina.net/u/3141521/blog/1647225