# 关键是要搞清楚avg_answer_cnt的计算方式
select
university,
difficult_level,
# 每个难度分组中,
# question_id行数:该难度的问题被回答的总次数
# 不同的device_id个数:回答该难度的问题的用户数
round(count(qpd.question_id)/count(distinct qpd.device_id),4) as avg_answer_cnt
from
# 要查询的表都关联到一起,取交集
user_profile up
inner join question_practice_detail qpd
on up.device_id = qpd.device_id
inner join question_detail qd
on qpd.question_id = qd.question_id
# 范围为山东大学用户
where university = '山东大学'
# 按难度分组聚合
group by difficult_level
order by difficult_level;

京公网安备 11010502036488号