题解 | #未完成试卷数大于1的有效用户#

未完成试卷数大于1的有效用户

https://www.nowcoder.com/practice/46cb7a33f7204f3ba7f6536d2fc04286

select distinct uid,count(if(submit_time is null,1,null)) incomplete_cnt,count(if(submit_time is null,null,1)) complete_cnt,group_concat(distinct date_format(start_time,'%Y-%m-%d'),':',tag order by start_time separator ';')
from exam_record r
join examination_info i
on r.exam_id = i.exam_id
where year(start_time)='2021'
group by uid
having complete_cnt >= 1 and incomplete_cnt > 1 and incomplete_cnt < 5
order by incomplete_cnt desc

主要还是group_concat的用法

group_concat:将分组中括号里对应的字符串进行拼接。如果分组中括号里的参数有多行,那么肯定会将这多行的字符串连接,每个字符串之间有特定的符号进行分隔。

group_concat( [distinct] 列名1 [order by 列名2 asc/desc] [separator ,])

将分组中的列名1这一列对应的多行的值按照列名2 升序或者降序进行连接,其中分隔符为 ,

然后就是注意对数据进行去重,因为一个人可能对一张数据进行多次作答,但是多次作答结果都是未完成或者完成

最后就是在有效用户的基础上再进行筛选

全部评论

相关推荐

叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-24 14:18
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务