题解 | #未完成试卷数大于1的有效用户#
未完成试卷数大于1的有效用户
http://www.nowcoder.com/practice/46cb7a33f7204f3ba7f6536d2fc04286
select e1.uid #提取用户ID, sum(case when e1.submit_time is null then 1 else 0 end) inp #未完成的次数,当提交时间为空,就等于没有完成就+1,有就加1 统计出来, sum(case when e1.submit_time is not null then 1 else 0 end) com #完成次数,当提交时间不为空,就等于完成,就加1 统计出来 group_concat(distinct CONCAT(date_format(e1.start_time,'%Y-%m-%d'),':',e2.tag) #组合显示,不过多解释了,慢慢按照规则排,我也复制出来的 order by start_time SEPARATOR ';') from exam_record e1 left join examination_info e2 on e1.exam_id=e2.exam_id WHERE left(e1.start_time,4)='2021' #条件2021,start_time前4个字符是2021 group by e1.uid #按照用户ID进行统计 having com>=1 and inp<5 and inp>1 #最后条件 com完成大于1 ,inp未完成 大于1 小于5 order by e1.uid desc 题目主要求每个UID用户ID,未完成的题目个数,完成题目个数,时间在2021年,条件完成次数1次未完成大于1小于5 付出条件输出