Leetcode176. Second Highest Salary(MYSQL limit,offset 区别)

原题
Write a SQL query to get the second highest salary from the Employee table.

+----+--------+
| Id | Salary |
+----+--------+
| 1  | 100    |
| 2  | 200    |
| 3  | 300    |
+----+--------+

For example, given the above Employee table, the second highest salary is 200. If there is no second highest salary, then the query should return null.
思路
从表中选出第二大的数,如果没有的话,则返回null
在写SQL语句之前,学习到知识点 Mysql limit offset用法
代码

select (select distinct Salary from Employee order by Salary Desc limit 1 ,1)  as SecondHighestSalary 

这里limit1,1的意思是从第一行开始选,选出第2(1+1)行的数;
或是是
语句1、select * from student limit 9,4 limit后面是从第9条开始读,读取4条信息。
语句2、slect * from student limit 4 offset 9 limit后面跟的是4条数据,offset后面是从第9条开始读取
语句1和2均返回表student的第10、11、12、13行

注意如果只写

select distinct Salary from Employee order by Salary Desc limit 1 ,1

这样子,他就会返回空[],不能返回null,所以有重新添加了一个select语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值