小言_互联网的博客

【数据库】查找入职员工时间排名倒数第三的员工所有信息

262人阅读  评论(0)

**

题目描述

**
查找入职员工时间排名倒数第三的员工所有信息
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));

思路:
分析题目:入职时间+倒数第三,
一个筛选事件=select,
条件是hire_date,
考虑到排序=order by,
倒数需要降序=desc,
选择倒数第三=limit
考虑到可能有多名员工的请,在加上一个distinct就OK啦

代码:



select * from employees 
where hire_date = (
    select distinct hire_date from employees order by hire_date desc limit 2,1
)


总结:
一开始,我认为是选出第三行的信息即可,但没有考虑到可能有多个人的情况,后来查看网上其他人的答案得出了这个比较好的解决方法。


转载:https://blog.csdn.net/qq_32066831/article/details/102312541
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场