版权声明:所有的博客都是个人笔记,交流可以留言。未经允许,谢绝转载。。。 https://blog.csdn.net/qq_35976351/article/details/88655071
题目描述
查找入职员工时间排名倒数第三的员工所有信息
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`));
解题思路
先排序,然后限制移动移动查询的下标即可。学习两个关键字,LIMIT
和OFFSET
。
基本用法:
SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset
简单说,LIMIT
如果跟一个数字,比如LIMIT 5
,表示返回前5条数据。如果跟两个数字,LIMIT 0, 3
,表示从第0行开始,返回3条数据。注意SQL
是从0开始记录行数的。
OFFSET
是为了配合LIMIT
使用的,比如LIMIT 5 OFFSET 10
,OFFSET
是从第10行开始,取5条数据
AC代码
SELECT * FROM employees ORDER BY hire_date DESC LIMIT 2, 1
或者
SELECT * FROM employees DESC BY hire_date LIMIT 1 OFFSET 2