题解 | #连续两次作答试卷的最大时间窗#

连续两次作答试卷的最大时间窗

https://www.nowcoder.com/practice/9dcc0eebb8394e79ada1d4d4e979d73c

select
t.uid,
max(datediff(t.m,t.pday))+1 as cnt,
round(
(t.puid/max((datediff(t.xday,t.mday))+1))*(max(datediff(t.m,t.pday))+1),2) as pcn
from(
select 
uid,
date(start_time) as pday,
lead(date(start_time))over(partition by uid order by date(start_time) asc) as m,
max(date(start_time))over(partition by uid) as xday,
min(date(start_time))over(partition by uid) as mday,
count(uid)over(partition by uid) as puid
from exam_record
where
year(start_time)=2021
) as t
where
datediff(t.m,t.pday)>1  
group by t.uid
order by cnt desc,pcn desc
明白题意就基本会了,这个题的要求的是:求每个人2次开始时间间隔最大的天数,(也就是说我9.1开始一次,我9.5开始一次,就算这2次时间差,找表里最大的一组。)然后在找到,2021年每个人最早的开始时间和最晚的开始差,及人次算均值,得到这个值在和间隔最大的天数相乘即答案。

全部评论

相关推荐

不愿透露姓名的神秘牛友
03-30 21:35
爱蜜莉雅碳劝退测开:裁员裁大动脉了
点赞 评论 收藏
分享
03-03 23:12
已编辑
北京邮电大学 Java
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
你的简历改到第几版了
点赞 评论 收藏
分享
04-10 11:37
黑河学院 运营
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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