select uid,sum(if(submit_time is null, 1, 0)) as incomplete_cnt,
count(submit_time) as complete_cnt,
group_concat(distinct concat(date_format(start_time,'%Y-%m-%d'),':',tag) separator ';') as detail
from exam_record as ex join examination_info as info 
on ex.exam_id = info.exam_id
where year(start_time) = 2021
group by uid
having  incomplete_cnt < 5 and complete_cnt >= 1 and incomplete_cnt >1
order by incomplete_cnt desc

submit_time 是空值 不能用count 用sum(if))