SQL2 查找入职员工时间排名倒数第三的员工所有信息
题目
链接:SQL2 查找入职员工时间排名倒数第三的员工所有信息
简述:
思路
由于入职时间排名倒数第三的并不止一个人,所以使用limit限制直接取出一条元组是不可行的。因此最简单的一种思路就是取出排名倒数第三的入职时间。根据这个时间来选择符合条件的员工。这样就不会错过员工。
MySQL 代码
select * from employees as e1 where e1.hire_date=
(select hire_date from (select distinct hire_date from employees)as p1
order by hire_date desc limit 2,1);
知识点整理
1.MySQL中的时间类型在排序的时候越晚的时间越大。也就是说如果使用desc也就是降序排序,如果时间不存在null的话,排在第一位的就是在列表中时间最晚的一个元组
2.MySQL中的limit 在SELECT语句中使用LIMIT子句来约束结果集中的行数。LIMIT子句接受一个或两个参数。两个参数的值必须为零或正整数。
LIMIT子句参数:
- offset参数指定要返回的第一行的偏移量。第一行的偏移量为0,不是1。
- count指定要返回的最大行数。
举例:limit 1,2表示跳过第一行,取2,3行
而如果limit只跟着一个参数的话表示要取的行数。