题解 | #查找入职员工时间排名倒数第三的员工所有信息#

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

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条数据
    

全部评论

相关推荐

迷茫的大四🐶:哇靠,哥们,啥认证啊,副总裁实习,这么有实力嘛
一起聊美团
点赞 评论 收藏
分享
10-10 00:14
门头沟学院 Java
程序员小白条:20年架构师,无工资
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务