##明确题意 某学校用户平均答题数量计算方式为该学校用户答题总次数除以答过题的不同用户个数
首先用户可以用device_id来表示,该学校用户答题总次数用count(q.result)或者count(q.question_id)表示,因为每一个结果肯定对应一个题(非空情况下)
然后关键就是用户id的去重
之后根据题意,答过题的情况,所以用inner join内连接直接过滤答题为null的情况 select
u.university,
round(count(q.result)/count(distinct q.device_id),4) avg_answer_cnt
from
user_profile u
join
question_practice_detail q
on
u.device_id=q.device_id
group by
u.university
order by
u.university;