题解 | #第二快/慢用时之差大于试卷时长一半的试卷#

第二快/慢用时之差大于试卷时长一半的试卷

http://www.nowcoder.com/practice/b1e2864271c14b63b0df9fc08b559166

1.先将每张试卷的答题记录按照用时排序,挑出第二快和第二慢 降序row_number()over()=2 和 升序row_number()over() =2
2.比较用时长度 sum(if(rank_1 = 2, use_time,0))-sum(if(rank_2=2,use_time, 0))

select exam_id, duration, release_time from(
    select exam_id, duration, release_time, sum(if(rank_1 = 2, use_time,0))-sum(if(rank_2=2,use_time, 0)) as sub from(
        select exam_record.exam_id, duration,score, timestampdiff(minute,start_time,submit_time) as use_time, release_time,
        row_number() over(partition by examination_info.exam_id order by timestampdiff(minute,start_time,submit_time) desc) as rank_1,
        row_number() over(partition by examination_info.exam_id order by timestampdiff(minute,start_time,submit_time)) as rank_2
        from examination_info, exam_record
        where exam_record.exam_id = examination_info.exam_id and submit_time is not null) as inf
    group by exam_id) inf2
where 2*sub >= duration
order by exam_id desc

不知道为啥明明说的是大于duration一半的,但是第二个用例把等于一半的也算上了

全部评论

相关推荐

06-02 15:17
门头沟学院 Java
心爱的idea:怎么会呢 应该是打招呼有问题 问就说实习6个月全国可飞随时到岗
点赞 评论 收藏
分享
嵐jlu:我是山川🐔里🐔🧱的,阿里系简历全过; 你这简历一看就还是半成品啊,没有荣誉经历奖项什么的吗?
投递阿里巴巴集团等公司8个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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