题解 | #查找入职员工时间排名倒数第三的员工所有信息#
查找入职员工时间排名倒数第三的员工所有信息
https://www.nowcoder.com/practice/ec1ca44c62c14ceb990c3c40def1ec6c
select * from employees where hire_date = (select DISTINCT(hire_date) from employees ORDER BY `hire_date` desc limit 2,1)
通过子查询先找到入职员工时间排名倒数第三的时间。使用limit语句正着来取数据比较方便,使用降序排序desc,排序后正序第三个就是我们所需要的数据了,但需要对hire_date字段进行去重后再排序,使用DISTINCT语句。
子查询执行的顺序为from、select、order by、limit,执行完select后,数据已经去重,再去取第三个数据就是正确的了