嘿,您猜怎么着?
这道题花了我一个小时,为什么呢?
就是这个该死的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