嘿,您猜怎么着?

这道题花了我一个小时,为什么呢?

就是这个该死的if

太菜了我还以为直接可以count(result = 'right')

我花了很长时间来检查代码硬是没想起来这块是有问题的,

我记住你了if

下一个!

SELECT
    a.device_id,
    a.university,question_cnt
    count(q.question_id) question_cnt,
    count(if((q.result = 'right'),1,null)) right_question_cnt
FROM
    question_practice_detail q
        right join
    (SELECT
         device_id,
         university
     FROM
         user_profile
     WHERE
         university = '复旦大学') a
on a.device_id = q.device_id
and  month(q.date) = 8
group by  a.device_id