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

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

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

select university
, count(question_id)/count(distinct question_practice_detail.device_id) as avg_answer_cnt
from user_profile join question_practice_detail on user_profile.device_id = question_practice_detail.device_id
group by university
order by university;

题目:请你写SQL查找每个学校用户的平均答题数目(说明:某学校用户平均答题数量计算方式为该学校用户答题总次数除以答过题的不同用户个数)根据示例,你的查询应返回以下结果(结果保留4位小数),注意:结果按照university升序排序!!!

重点:某学校用户平均答题数目=该校用户答题总次数/该校答过题的不同用户个数

即:avg_answer_cnt = count(question_id)/count(distinct question_practice_detail.device_id)

【注意这里对distinct关键字的使用,不同用户的表达方式是distinct device_id】学会了这一点,就不用苦苦用两个select字句分别查询了。。。关键写了两大串都是错的。。

解析:连接两张表,按学校进行分组,计算每个学校的平均答题数目,最后排序。

考察:表链接;group by分组;聚合函数;去重distinct;排序

全部评论

相关推荐

12-20 11:26
复旦大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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