还有一个笨办法 SELECT exam_id,duration,release_time FROM (SELECT *, ROW_NUMBER() over(PARTITION BY exam_id ORDER BY `datediff`) as ranking1, ROW_NUMBER() over(PARTITION BY exam_id ORDER BY `datediff` DESC) as ranking2 FROM (SELECT e_r.*,(submit_time-start_time) as `datediff`,tag,difficulty,duration,release_time FROM exam_record as e_r LEFT JOIN examination_info as e_i ON e_r.exam_id=e_i.exam_id) as test WHERE `datediff` IS NOT NULL) AS e GROUP BY exam_id HAVING (sum(IF(ranking2=2,`datediff`,0))-sum(IF(ranking1=2,`datediff`,0)))>(duration/2)*60
点赞

相关推荐

12-05 18:09
已编辑
广东药科大学 后端工程师
点赞 评论 收藏
分享
12-03 03:32
安徽大学 Java
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务