题解 | #查找入职员工时间排名倒数第三的员工所有信息#
查找入职员工时间排名倒数第三的员工所有信息
https://www.nowcoder.com/practice/ec1ca44c62c14ceb990c3c40def1ec6c
select * from employees WHERE hire_date = ( select distinct hire_date from employees order by hire_date desc limit 1 OFFSET 2 ) 1. 原先个人思路是,根据日期倒序获取三条记录,这样可以获取倒数前三名的数据,题目信息是倒是第三,所以还得拿出倒数第三名的数据。 select * from employees where hire_date = -- 拿出倒数第三名的数据 ( -- 根据日期倒序获取三条记录 select hire_date from employees order by hire_date desc limit 3 )b b.hire_date asc limit 1 2. 再根据第三名的日期,取和数据表进行匹配,这样的话就不会缺失数据(注意我的解法是错误的,但是思路是这样) 3. 如果获取结果用了 limit 1 ,这个肯定会出错,因为结果不止一条; >>>>>>> 知识点<<<<<<<< 后面参考前人代码,了解到 offset limit 区别 limit x, 只取x条数据 limit x,y 跳过x,取y条数据 limit x offset y,跳过y,取x条数据