#4、最后,将经过条件筛选后的字段,挑选出展示字段进行展示&排序#
select t5.exam_id,t5.duration,t5.release_time
from

#3、再次,筛选出完成时间最慢前2,以及完成时间最快前2#
(select *
from

#2、其次,按照刚才计算好的完成时间字段,从大到小&从小到大进行排序(2个全新的排序字段)#
(select *,
row_number() over(partition by t3.exam_id order by done_time desc) as max_rank,row_number() over(partition by t3.exam_id order by done_time) as min_rank
from

#1、首先,计算出各用户完成各试卷的时间,同时将未完成的筛选掉#
(select t2.exam_id,duration,release_time,
timestampdiff(minute,start_time,submit_time) as done_time
from exam_record as t1
left join examination_info as t2 
on t1.exam_id = t2.exam_id
where score is not null) 
#1#

as t3) 
#2#

as t4
where t4.max_rank = 2
or t4.min_rank = 2)
#3#

as t5
where (case when t5.max_rank = 2 then t5.done_time else 0 end) - (case when t5.min_rank = 2 then t5.done_time else 0 end) > t5.duration*0.5
order by exam_id desc
#4、完成最慢第2-完成最快第2 > 试卷规定市场的1/2#;