题解 | #月均完成试卷数不小于3的用户爱作答的类别#

月均完成试卷数不小于3的用户爱作答的类别

https://www.nowcoder.com/practice/b1d13efcfa0c4ecea517afbdb9090845

做题建议:

体会1:牛客的题最好分析分析他的测试用例的,说实话他的描述真的不如leetcode清楚,很多有歧义的地方,前面我踩了很多坑就是因为有歧义造成对需求理解不到位。

体会2:拆步骤吧,虽然说个人一直觉得能一把梭就把代码写完确实很帅,但这样无形中就增加了对题的难度,其实自己有时候就喜欢这样,感觉很帅但是题会把你卡很久,不利于及时完成用户需求。

体会3:暂时还没有

#当月:submit_time最大的年月
#完成试卷数量:submit_time 不是空
#用户的
# 1002用户 (9003,1,算法,9月)(9002,1,C++,9),(9001,1,SQL,9)(9002,0,C++,7月)   三次完成 1次没完成
# 1005用户  (9001,1,SQL,9) (9002,1,c++,9) (9002,1,C++,9)   三次完成,0次不完成

#统计结果:C++  1次完成+1次不完成+1次完成+1次完成
#         SQL  1次完成+1次完成
#         算法  1次完成

#结论:条件1:筛选出  属于当前表的最大年月  且 完成试卷数量 >=3 的用户
#      在条件1的基础下,找到这些用户的所有答过的题,将他们按照tag进行分类,统计不同分类的数量,然后按照数量进行降序输出


select
d.tag,count(1) as tag_cnt
from 
exam_record c join examination_info d on c.exam_id = d.exam_id
where c.uid in(
select
a.uid
from exam_record a join (select max(submit_time) as maxData from exam_record ) b on date_format(a.submit_time,'%Y%m') = date_format(b.maxData,"%Y%m") and a.submit_time is not null

group by a.uid having count(1) >= 3
)

group by d.tag
order by tag_cnt desc

全部评论

相关推荐

白火同学:能。我当初应届沟通了1200,收简历50,面试10左右吧,加油投吧
点赞 评论 收藏
分享
喜欢飞来飞去的雪碧在刷代码:可以试一试字节
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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