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))