with t as ( select a.device_id,university,question_id,date,result from user_profile a join question_practice_detail b on a.device_id = b.device_id ) select device_id,university,question_cnt,right_question_cnt from ( select device_id,university, count(*) as question_cnt, sum(if(result="right",1,0)) as right_question_cnt from t where month(date) = 8 and university = "复旦大学" group by device_id ) c union select device_id,university,0 as question_cnt,0 as right_question_cnt from t where month(date) <> 8 and university = "复旦大学" group by device_id,university