select exam_id,duration,release_time from 
    (select exam_id,duration,release_time,t from
        (
        select exam_id,duration,release_time,timestampdiff(second,start_time,submit_time) as t,
            row_number()over(partition by er.exam_id order by 
                             timestampdiff(second,start_time,submit_time)
                             desc) as r1,
            row_number()over(partition by er.exam_id order by 
                             timestampdiff(second,start_time,submit_time)
                             ) as r2
            from exam_record as er join examination_info as ei using(exam_id)
            where timestampdiff(second,start_time,submit_time) is not null
        ) as a
    where r1=2 or r2=2
    ) as b
group by exam_id
having (max(t)-min(t)>=(duration*30))
order by exam_id desc
#子查询嵌套
#先对时间差进行正序和倒序排序,在选择分别为2的表示第二快和第二慢,这样每个试卷都可以
#得到两行数据,之后再用最大值减最小值大于时间的一般即可(这里用秒)