题解 | #满足条件的用户的试卷完成数和题目练习数#

满足条件的用户的试卷完成数和题目练习数

https://www.nowcoder.com/practice/5c03f761b36046649ee71f05e1ceecbf

# 找到 高难度SQL 试卷 得分平均值 大于80 并且是 7级 的 红名大佬
with A as (
select c.uid
from exam_record c
join user_info using(uid)
join examination_info using(exam_id)
where tag = 'SQL'
and difficulty = 'hard'
and level = 7
group by 1
having avg(score) > 80
)
# 统计他们的2021年试卷总完成次数和题目总练习次数,只保留2021年有试卷完成记录的用户
# 试卷总完成次数
,B as (
select uid,count(*)exam_cnt from exam_record
where uid in (select uid from A)
and year(start_time) = 2021
and submit_time is not null
group by 1
)
# 题目总练习次数
,C as (
select uid,count(*)question_cnt from practice_record
where uid in (select uid from B)
and year(submit_time) = 2021
and submit_time is not null
group by 1
)
# 连表 再空值转换
select uid,exam_cnt,ifnull(question_cnt,0)question_cnt
from (
select uid,exam_cnt,question_cnt
from B
left join C using(uid)
)a
order by exam_cnt,question_cnt desc

全部评论

相关推荐

06-15 20:57
已编辑
门头沟学院 Java
CARLJOSEPH...:年轻人有傲气很正常,但是建议工作前洗净傲气。 说实在的,什么奖学金什么奖项的都很一般。尊重你的老师,在有时间的时候去上课,真遇到走不开的事,请态度端正地向你的老师说明情况,请求请假。我相信任何一个有师德的老师都会允许的(我的老师就是这样)。
点赞 评论 收藏
分享
07-11 22:27
中南大学 Java
程序员牛肉:学历的话没问题。但是没问题的也就只有学历了。 其实你的整体架构是正确的,博客接着干。但是项目有点过于简单了。从后端的角度上讲,你这也就是刚入门的水平,所以肯定约面试够呛。 如果你要应聘后端岗位,那你第一个项目竟然是仿写操作系统。这个你要面试官咋问你。你一定要记住一点,你简历上写的所有的东西,都是为了证明你有能力胜任当前的岗位,而不是为了证明你自己会什么。 如果你只是浅浅的做几个项目,描述也都是烂大街。技术点也都是各种混水类的配置类需求,那你就不要幻想自己能走多远。一定要保持思考,保持学习。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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