题解 | #未完成试卷数大于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 付出条件输出

全部评论

相关推荐

评论
8
收藏
分享
牛客网
牛客企业服务