mysql case when 问题

这个为啥怎么运行incomplete_cnt都是0啊,崩溃

select uid,
count(case when submit_time is null then 1 end) as incomplete_cnt,
count(case when submit_time is not null then 1 else null end) as complete_cnt,
group_concat(distinct CONCAT(DATE_FORMAT(a.start_time, '%Y-%m-%d'),':',b.tag) separator ';') as detail
from exam_record a
left join
examination_info b 
on a.exam_id=b.exam_id
where year(submit_time)='2021'
group by uid
having  incomplete_cnt<5 and complete_cnt>=1 
order by incomplete_cnt     desc;

因为你加了筛选条件,where year(submit_time)=2021,这样就不会is null的数据,所以就会是0