select 
exam_id,
duration,
release_time
from
(
select 
*,
lag(diff) over(partition by exam_id order by diff desc) as flag
from 
(
select
t2.exam_id,
duration,
release_time,
timestampdiff(minute,start_time,submit_time) as diff,
row_number() over(partition by exam_id order by timestampdiff(minute,start_time,submit_time) desc) as fast,
row_number() over (partition by exam_id order by timestampdiff(minute,start_time,submit_time) asc ) as slow
from 
exam_record t1  join examination_info t2 on t1.exam_id=t2.exam_id
)tmp
where fast=2 or slow=2
)tmp2
where flag-diff>duration/2
order by exam_id desc

tmp 表:得到试卷信息和快,慢两种排序

tmp2表:将快,慢用时加入到一行中

最终表:筛选得到快-慢>试卷时间一半到试卷信息