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

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

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

SELECT l3.exam_id,l3.duration, l3.release_time
FROM(
    SELECT l2.exam_id,l2.duration, l2.release_time, 
        SUM( CASE WHEN l2.max_rank=2 THEN l2.exam_duration
                    WHEN l2.min_rank=2 THEN -l2.exam_duration
                    ELSE 0
                    END
            ) AS duration_sub
    FROM(
        SELECT l1.exam_id,l1.exam_duration, i.duration, i.release_time,
            ROW_NUMBER() OVER (PARTITION BY l1.exam_id ORDER BY l1.exam_duration DESC) AS max_rank,
            ROW_NUMBER() OVER (PARTITION BY l1.exam_id ORDER BY l1.exam_duration ) AS min_rank
        FROM(
            SELECT exam_id, TIMESTAMPDIFF(SECOND, start_time, submit_time) AS exam_duration
            FROM exam_record
            WHERE submit_time IS NOT NULL
            ) AS l1
        LEFT JOIN examination_info AS i ON l1.exam_id=i.exam_id
        ) AS l2
    GROUP BY l2.exam_id
    ) AS l3
WHERE l3.duration_sub >= l3.duration*60*0.5
ORDER BY l3.exam_id DESC;

全部评论

相关推荐

2025-12-15 14:25
云南大学 Java
lei22:入职可能会看学信网,最好别伪装,这个简历找实习肯定是够的,肯定会有收 28 届实习生的公司的,多投就行
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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