select
    u.device_id,
    university,
    count(question_id) as question_cnt,
    sum(
        case
            when result = 'right' then 1
            else 0
        end
    ) as right_question_cnt
from
    user_profile u
    left join question_practice_detail p on u.device_id = p.device_id
    and date between '2021-08-01' and '2021-08-31'
where
    university = '复旦大学'
group by
    u.device_id;