赞
踩
目录
二:limit n,m 和limit m offset n的区别:
前提解释:
这里的n表示:需要展示多少条结果数据(要几条)。
这里的m表示:从第m条开始展示结果数据 (从哪里) 。
日常开发中,我们为了展示有限量的结果,常常这样写
select * from table_tmp limit 100;
表示要展示100条结果数据。其实,这里的完整写法应该为
select * from table_tmp limit 0,100
即 从第1条开始展示,一共展示100条数据。于是,当你需要从第21条开始展示,展示40条数据时,就可以这么写
select * from table_tmp limit 20,40;
还是上个例子
select * from table_tmp limit 0,100;
用limit n offset m 会写成为
select * from table_tmp limit 100 offset 0;
表示从第一行开始取,一共取100条结果数据,其实就是将 limit n,m中的变量互换位置后,中间就要加offset,表示的含义是一样的。
Employee 表:
+-------------+------+
| Column Name | Type |
+-------------+------+
| id | int |
| salary | int |
+-------------+------+
id 是这个表的主键。
表的每一行包含员工的工资信息。
编写一个 SQL 查询,获取并返回 Employee 表中第二高的薪水 。如果不存在第二高的薪水,查询应该返回 null
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/second-highest-salary
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
根据题目,我的方式如下:
- select t2.SecondHighestSalary from Employee t1
- left join --左连接可以保证第二名为null时结果为null
- (select
- id,
- ifnull((select distinct salary from Employee order by salary desc limit 1,1),null) as
- SecondHighestSalary
- from Employee) t2
- on t1.id = t2.id
- order by t2.salary desc limit 0,1;
you got right?
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。