select
uid,
'activity1' as activity
from exam_record
group by uid
having min(score)>=85
union all
select
distinct uid,
'activity2' as activity
from exam_record record
join examination_info info
on (record.exam_id = info.exam_id)
where info.difficulty='hard'
and record.score>80
and timestampdiff(MINUTE,record.start_time,record.submit_time)*2<info.duration
order by uid