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

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

http://www.nowcoder.com/questionTerminal/ec1ca44c62c14ceb990c3c40def1ec6c

开窗函数

select emp_no,birth_date,first_name,last_name,gender,hire_date
from(
select *,
row_number() over(order by hire_date desc )as n
from employees
) a
where n=3
数据分析阿宇君的SQL题解 文章被收录于专栏

数据分析的SQL题目

全部评论
应该用rank()合理点,同一天可能有多个员工哦~
1 回复 分享
发布于 2020-11-25 21:51
答主实际跑过吗? 用dense_rank()吧,用row_number()是很明显错误的
10 回复 分享
发布于 2021-03-20 23:08
dense_rank()好一些吧,可能存在同一天多人入职
6 回复 分享
发布于 2021-08-24 20:56
使用开窗函数应避免使用rank 作为排序字段名称。容易报错
4 回复 分享
发布于 2021-01-21 23:46
我也是这么写的,但是我用的dens_rank()over(),不通过,错了
2 回复 分享
发布于 2023-02-21 16:39 广东
我理解应该用dense_number row_number是高考排名,出现重复值时会占位,所以存在没有第三名的情况,比如11145
1 回复 分享
发布于 2023-04-23 12:40 浙江
编译报错了 希望有空更新一下 不要误人子弟
1 回复 分享
发布于 2021-04-05 13:43
as 使用rank报错了
1 回复 分享
发布于 2021-02-04 23:33
为什么不能用limit
点赞 回复 分享
发布于 2024-12-05 14:41 辽宁
出现重复值时会占位的是rank()吧
点赞 回复 分享
发布于 2024-01-15 21:29 北京
mysql 5.7以下没有 row_number
点赞 回复 分享
发布于 2022-12-02 20:38 广东
为何第一行不能用*呢
点赞 回复 分享
发布于 2022-05-06 15:47
有重复数据的时候,这个就不适用了
点赞 回复 分享
发布于 2022-03-26 16:11
错了哈,这个是oracle的写法,MySQL不行
点赞 回复 分享
发布于 2021-11-03 22:56
row_number() over () MySQL 有这个函数吗?
点赞 回复 分享
发布于 2021-09-15 12:32
as 后面少了个n
点赞 回复 分享
发布于 2021-07-29 14:52
说不行的肯定没用MYSQL,建议多试再来评论。
点赞 回复 分享
发布于 2021-07-22 10:20
报错了呀 编译不过去
点赞 回复 分享
发布于 2021-03-16 11:11

相关推荐

06-18 13:28
已编辑
门头沟学院 Web前端
爱睡觉的冰箱哥:《给予你300的工资》,阴的没边了
点赞 评论 收藏
分享
牛客38347925...:9,2学生暑期实习失利开始投小厂,给这群人整自信了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-29 17:30
找实习找着找着就要进入7月了,马上秋招也要开始了,找实习还有意义吗?
绝迹的星:有面就面, 没面上就当日薪4位数大佬免费培训, 面上了再考虑要不要实习
点赞 评论 收藏
分享
评论
56
1
分享

创作者周榜

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