select
  t1.device_id,
  university,
  count(t2.question_id) as question_cnt,
  sum(
    case
      when result = 'right' then 1
      else 0
    end
  ) as right_question_cnt
from
  (
    select
      device_id,
      university
    from
      user_profile
    where
      university = '复旦大学'
  ) t1
  left join (
    select
      *
    from
      question_practice_detail
    where
      month(date) = '8'
  ) t2 on t1.device_id = t2.device_id
group by
  university,
  t1.device_id