题解 | #统计每个学校各难度的用户平均刷题数#

统计每个学校各难度的用户平均刷题数

https://www.nowcoder.com/practice/5400df085a034f88b2e17941ab338ee8

# select
#     university
#     count(difficult_level)/count(distint qpd.question_id) as avg_answer_cnt
# from question_practice_detail as qpd
# inner join question_detail as up on qpd.question_id=up.question_id
#到这里思路还不清晰


#可以先看需要的输出是什么,是按照哪写相来分组的;比如按照university和level来分,那么行数应该为university的种类数量*level的种类数,题目中为4*2=8(包括null的行)
#然后看分组之后要怎样计算每一行对应的值
#将计算方法写出
#最后按照先计算,再联结,最后Group的顺序书写代码

select 
    university,
    difficult_level,
    round(count(qpd.question_id) / count(distinct qpd.device_id),4) as avg_answer_cnt from question_practice_detail as qpd

left join user_profile as up
on up.device_id=qpd.device_id

left join question_detail as qd 
on qd.question_id=qpd.question_id

group by university,difficult_level

全部评论

相关推荐

阿武同学:基本信息保留前面三行,其他的可以全部删掉,邮箱最重要的你没写,主修课程精简到8个以内,实习里面2/3/4都是水内容的,非要写的话建议两到三句话,项目经历排版优化下,自我评价缩到三行
点赞 评论 收藏
分享
09-23 08:41
已编辑
门头沟学院 Java
牛客吹哨人:可恶!它越来越嚣张了...哨哥晚点统一更新到黑名单:能救一个是一个!26届毁意向毁约裁员黑名单https://www.nowcoder.com/discuss/1525833
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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