要求

统计每个学校各难度的用户平均刷题数

思路

  1. 每个学校:group by university
  2. 各难度: group by difficult_level
  3. 的用户:user_profile inner join question_practice_detail
  4. 平均刷题数: count(qp.result)/ COUNT(distinct qp.device_id)

难点

这里要用到多表关联,需要用到两个join。 做之前要理清思路,以免用错join。(left,inner应该都能用,就是写的时候要注意表的前后顺序)

实现

select up.university,qd.difficult_level, count(qp.result)/ COUNT(distinct qp.device_id) as avg_answer_cnt
from (user_profile as up 
      INNER JOIN question_practice_detail as qp 
      on up.device_id = qp.device_id)
      inner join question_detail as qd
      on qp.question_id = qd.question_id
group by university,difficult_level