本题最大亮点就是TIMESTAMPDIFF函数
select * 
FROM
(select uid,'activity1' as activity
from exam_record
where year(start_time)=2021
group by uid
having min(score)>=85
UNION
select distinct uid,'activity2' as activity
from examination_info t
join exam_record t1 on t.exam_id = t1.exam_id
where difficulty='hard' and score>80 and TIMESTAMPDIFF(minute,start_time,submit_time)<duration/2) t
order by uid