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

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

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

select uid,
max(datediff(last_date,preceding_date)+1) days_window,
round(count(distinct dates)*max(datediff(last_date,preceding_date)+1)/(max(dates)-min(dates)+1),2) avg_exam_cnt
from(
    select uid,exam_id,date(start_time) dates,
    first_value(date(start_time)) over(partition by uid order by date(start_time) rows between 1 preceding and current row) preceding_date,
    last_value(date(start_time)) over(partition by uid order by date(start_time) rows between 1 preceding and current row) last_date
    from exam_record
    where year(start_time)=2021 and 
    uid in(select uid from exam_record group by uid having count(distinct date(start_time))>=2)) a
group by uid

全部评论

相关推荐

2024-12-23 11:36
中南大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务