题解 | #统计每个用户的平均刷题数#

统计每个用户的平均刷题数

https://www.nowcoder.com/practice/f4714f7529404679b7f8909c96299ac4

解题

第一山东大学,各难度,涉及到对university,difficult_level利用GROUP BY分组实现;

第二,用户平均答题数=所有用户答题总数/所有用户数,分母所有用户涉及到COUNT(DISTINCT ...)对登录设备账号进行剔重【由于存在一个设备账号多次登录的情况】,分子所有用户答题总数涉及COUNT()对question_id进行计数,不需要剔重;

第三,需要对三个表进行联结FROM ...JOIN...ON...JOIN...ON...。

题解

题目:运营想要查看参加了答题的山东大学的用户在不同难度下的平均答题题目数,请取出相应数据

select 
up.university,
qd.difficult_level,
(count(qpd.question_id)/count(distinct qpd.device_id)) avg_answer_cnt
from user_profile up
join question_practice_detail qpd 
on up.device_id = qpd.device_id
join question_detail qd 
on qpd.question_id = qd.question_id
group by up.university,qd.difficult_level
having up.university='山东大学'

#我的求职思考#
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务