**-题解 | #统计每个学校各难度的用户平均刷题数#
统计每个学校各难度的用户平均刷题数
https://www.nowcoder.com/practice/5400df085a034f88b2e17941ab338ee8
# 请你写一个SQL查询,计算不同学校、不同难度的用户平均答题量,根据示例,你的查询应返回以下结果(结果在小数点位数保留4位,4位之后四舍五入): select university,c.difficult_level, round(count(b.question_id) / count(distinct b.device_id ),4) avg_answer_cnt from user_profile a, question_practice_detail b, question_detail c where a.device_id =b.device_id and b.question_id=c.question_id group by university,difficult_level
思路:
第一
,每个学校,各难度,涉及到对university,difficult_level利用GROUP BY分组实现;
第二
,用户平均答题数=所有用户答题总数/所有用户数,分母所有用户涉及到COUNT(DISTINCT ...)对登录设备账号进行剔重【由于存在一个设备账号多次登录的情况】,分子所有用户答题总数涉及COUNT()对question_id进行计数,不需要剔重;
第三
,需要对三个表进行联结FROM ...JOIN...ON...JOIN...ON...。
复制代码
1 2 3 4 5 6 |
|
SQL错题 文章被收录于专栏
每天学习一遍 刷题刷题 越刷越强!