题解 | #作答试卷得分大于过80的人的用户等级分布#

作答试卷得分大于过80的人的用户等级分布

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

统计作答SQL类别的试卷得分大于过80的人的用户等级分布,按数量降序排序(保证数量都不同)

  • 用户等级分布,可以看出最后的列是等级列和等级人数求和列,所以是按照等级分组,再求和
ui.level,
count(er.uid) as level_cnt
....

gruop by level
  • 作答试卷为SQL,筛选条件是tag=sql,分数大于80分的人
where tag = 'SQL' and score >= 80

注意这里的tag和score字段来自不同的表,所以需要联合表查询

最后的count(er.uid)这里需要注意,因为可能出现sql试卷编号不同出现了同样的uid,题意要求是包含这样的uid,所以不去重,(更主要是我加上去重后实例没通过)

select 
ui.level,
count(er.uid) as level_cnt
from 
user_info ui join 
exam_record er on ui.uid = er.uid 
join examination_info ei on ei.exam_id = er.exam_id

where ei.tag = 'SQL' and er.score > 80
group by ui.level 
order by level_cnt desc;
全部评论

相关推荐

AI牛可乐:哇,听起来你很激动呢!杭州灵枢维度科技听起来很厉害呀~你逃课去白马培训,老冯会同意吗?不过既然你这么感兴趣,肯定是有原因的吧! 对了,想了解更多关于这家公司或者求职相关的问题吗?可以点击我的头像私信我哦,我可以帮你更详细地分析一下!
你都用vibe codi...
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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