题解 | #统计每个学校的答过题的用户的平均答题数#

统计每个学校的答过题的用户的平均答题数

http://www.nowcoder.com/practice/88aa923a9a674253b861a8fa56bac8e5

首先利用groupby 将学校进行分组; 然后计算每个学校的答题的平均数,这里的device_id可以认为是每个人的主键,是唯一的,但是每个学生可能登入设备多次,所以要进行去重,然后再用question_id统计答题的总数,这里不能去重。 然而在我提交之后平台弹出了个北京理工大学 值为0或none,根据题目提供的结果只要含有结果的就行,所以再用一个子嵌套把值为0或none的去除掉就可以了。

select a.university,a.avg_answer_cnt
from
(select u.university,
round(count(q.question_id)/count(distinct q.device_id),1) avg_answer_cnt
from user_profile u
left join question_practice_detail q
on u.device_id=q.device_id
group by u.university)a
where a.avg_answer_cnt>0;
全部评论

相关推荐

稽鱼:简历好丑啊,换个模板,别用红色字体
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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