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

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

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

1.目标:查询每个学校答过题的用户平均答题数量情况

2.每个学校--->按学校分组
group by t1.university

3.平均答题数量、学校在两个表中--->两表连接,这里就是简单的内连接

user_profile t1 join question_practice_detail t2 on t1.device_id = t2.device_id

4.平均答题数量,下面有给到公式:该学校用户答题总次数除以答过题的不同用户个数

count(*)/count(distinct t1.device_id)

count(*)表示该组一共的答题数量,每有一个人答一道题就会有一条记录

count(distinct t1.device_id) 表示查询一共有多少个用户数,并且去重

5.其他 :order by t1.university; 下面有要求就加上了

tip:查询中的表名可以不加,加了可以提高效率。

求解方案

select t1.university,
round(count(*)/count(distinct t1.device_id),4) as avg_answer_cnt
#可以对独立字段加distinct
from user_profile t1 join question_practice_detail t2
on t1.device_id = t2.device_id
group by t1.university
order by t1.university;
全部评论

相关推荐

06-10 21:15
门头沟学院 Java
宁阿:好多这种没🧠的公司,他们估计都不知道毕业的人不能给安排实习岗
点赞 评论 收藏
分享
在开会的单身狗很有一套:学院本被想着这么快有面试,而且简历废话太多了 那些在校经历什么荣誉什么的企业不关心
点赞 评论 收藏
分享
评论
10
3
分享

创作者周榜

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