题目描述
https://www.nowcoder.com/practice/53235096538a456b9220fce120c062b3
思路:首先要把两个表进行连接,并且是外连接,要在连接的时候就选择8月份的,如果之后再where中选择8月份数据的话,那没做题的人的数据就会消失了
在count()right答案的题目数的时候,可以在count中添加条件,但是记得要加or null,或者使用if条件
count(if(q.result=‘right’),1,null)
也可以使用sum结合if进行计数
sum(if(q.result=‘right’),1,0)
select u.device_id,u.university,count(q.result) as question_cnt,count(q.result='right' or null) as right_question_cnt
from user_profile as u left outer join (question_practice_detail as q) on u.device_id =q.device_id and month(q.date)=8
where u.university='复旦大学'
group by u.device_id