牛客 数据库SQL实战 查找入职员工时间排名倒数第三的员工所有信息

题 目 描 述 : \color{blue}题目描述: :
查找入职员工时间排名倒数第三的员工所有信息

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`));

输 入 描 述 : \color{blue}输入描述: :

输 出 描 述 : \color{blue}输出描述: :
牛客 数据库SQL实战 查找入职员工时间排名倒数第三的员工所有信息_第1张图片

思 路 分 析 : \color{blue}思路分析:
首先我们应该查出入职员工时间排名倒数第三的日期,然后从表中挑出这个时间入职的员工。获取第三个日期,我们可以对hire_date 降序排列,然后使用limit关键字取出第三个,

代 码 实 现 : \color{blue}代码实现:

select *
from employees
#筛选出这个时间入职的员工
where hire_date = (
	#注意对入职时间进行去重
    select distinct hire_date
    from employees
    #按照hire_date 降序排列
    order by hire_date desc
    #找出第三个
    limit 2,1
);

博 客 推 荐 : \color{blue}博客推荐:
此题涉及到MySQL中的条件、排序查询,以及limit关键字的使用,请参考我的专栏:
MySQL从入门到精通之条件查询
MySQL从入门到精通之排序查询
MySQL从入门到精通之分页查询

你可能感兴趣的:(MySQL从入门到精通)