思想 :既然是找倒数第三,那么经过distinct处理后,只有两个数据的日期会比倒数第三晚,那么就可以形成一个where语句
select e1.*
from employees as e1
where
对于e1中每个数据找到入职日期比其晚的数据,并使用distinct处理,返回这些数据的个数,如果这些数据的个数为2,那么e1中的这个数据就是排倒数第三的数据
代码:
select e1.* from employees as e1 where (select count(distinct e2.hire_date) from employees as e2 where e2.hire_date>e1.hire_date )=2