select ui.uid,count(if(submit_time is null and start_time is not null,1,null)) as incomplete_cnt, round(ifnull(count(if(submit_time is null,1,null))/count(exam_id),0.000),3) as incomplete_rate from user_info ui left join exam_record er on ui.uid=er.uid where ( case when (select max(cnt) from(select count(if(submit_time is null,1,null)) as cnt from user_info ui left join exam_record er on ui.uid=er.uid where level =0 group by ui.uid)b)>2 then level =0 else start_time is not null end ) group by ui.uid order by incomplete_rate
二刷