SELECT DISTINCT uid, 'activity1' AS activity
FROM exam_record
WHERE YEAR(submit_time) = '2021'
GROUP BY uid
HAVING MIN(score) >= 85

UNION ALL

SELECT DISTINCT uid, 'activity2' AS activity
FROM exam_record RIGHT JOIN 
     (
       SELECT exam_id, duration
       FROM examination_info
       WHERE difficulty = 'hard'
     )e_i USING(exam_id)
WHERE YEAR(submit_time) = '2021'
      AND TIMESTAMPDIFF(MINUTE, start_time, submit_time) * 2 < duration
      AND score > 80

ORDER BY uid ASC