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

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

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

SELECT distinct exam_id, duration, release_time
FROM
# 用dense_rank()基于每种类型试卷排序,获得最短答题时间和最短时间排名
(SELECT 
    exam_id,
    time_spend fasttime,
    DENSE_RANK()OVER(PARTITION BY exam_id ORDER BY time_spend) fast
FROM(
    SELECT 
        exam_id, 
        timestampdiff(minute, start_time, submit_time) time_spend
    FROM exam_record er
) t1) t11
JOIN
# 用dense_rank()基于每种类型试卷排序,获得最长答题时间和最长时间排名
(SELECT 
    exam_id,
    time_spend slowtime,
    DENSE_RANK()OVER(PARTITION BY exam_id ORDER BY time_spend DESC) slow
FROM(
    SELECT 
        exam_id, 
        timestampdiff(minute, start_time, submit_time) time_spend
    FROM exam_record er
) t2) t21
    USING(exam_id)
JOIN examination_info 
    USING(exam_id)
# 筛选出时间最短的第二名和时间最长的第二名
# 利用时间差的条件进一步筛选
WHERE fast = 2 and slow = 2 and (slowtime - fasttime) > (duration)/2
ORDER BY exam_id DESC

全部评论

相关推荐

2025-12-28 16:32
重庆邮电大学 Java
程序员花海:1.技能放最后,来面试默认你都会,技能没啥用 2.实习写的看起来没啥含金量,多读读部门文档,包装下 接LLM这个没含金量 也不要用重构这种 不会给实习生做的 3.抽奖这个还是Demo项目,实际在公司里面要考虑策略,满减,触发点,触发规则 库存 之类的,不是这个项目这么简单 4.教育背景提前,格式为 教育背景 实习 项目 技能 自我评价
简历被挂麻了,求建议
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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