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

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

https://www.nowcoder.com/practice/ec1ca44c62c14ceb990c3c40def1ec6c?tpId=82&&tqId=29754&rp=1&ru=/ta/sql&qru=/ta/sql/question-ranking

解题思路:

思路与第一题基本相同。将 employees 表中的信息按照 hire_date 降序排序,然后取排序后的第三条记录,即

ORDER BY hire_date DESC
LIMIT 2,1

解释一下 LIMIT 2,1 的意思:

SQL 中,行号是从 0 开始的。所以 LIMIT 2,1 中, 2 是指从第三条记录开始,1 是指取一条记录。合起来就是,从第三条记录开始(包括第三条记录!),取一条记录。

mysql 完整参考代码:

SELECT *
FROM employees
ORDER BY hire_date DESC
LIMIT 2,1;
全部评论
如果表里面倒数第三的正好有多条呢,这条sql只返回一条,不符合题目要求吧
2
送花
回复
分享
发布于 2022-01-26 15:14
为什么不能升序,然后取
点赞
送花
回复
分享
发布于 2021-03-10 14:28
蔚来
校招火热招聘中
官网直投
一模一样的想法,结果内存超了
点赞
送花
回复
分享
发布于 2021-12-07 14:24
有重复入职的,你这个只能取一个
点赞
送花
回复
分享
发布于 2022-12-02 20:43 广东
日期得去重
点赞
送花
回复
分享
发布于 2023-08-11 17:02 浙江
这错得离谱吧,你这只查出来一个,万一是多个呢
点赞
送花
回复
分享
发布于 2023-09-12 21:13 北京

相关推荐

28 2 评论
分享
牛客网
牛客企业服务