题解 | #统计复旦用户8月练题情况#
统计复旦用户8月练题情况
http://www.nowcoder.com/practice/53235096538a456b9220fce120c062b3
写在前面:此题不难,只要逻辑搞懂就好
第一步
找出复旦大学的用户
select
a.*
from
user_profile a
where university = '复旦大学'
第二步
找出在8月份答题的人
用到的函数:month()
select
b.device_id,b.question_id,b.result
from
question_practice_detail b
where
month(b.date) = '08'
第三步
连接两个表,得到复旦大学在8月答题的人
用到的函数:sum(if(a,1,0))
select
a.device_id,a.university,count(t.q_id),sum(if(t.res='right',1,0))
from
user_Profile a
left join
(select
b.device_id d_id,b.question_id q_id,b.result res
from
question_practice_detail b where month(b.date) = '08') t
on
t.d_id = a.device_Id
where university = '复旦大学'
group by a.device_Id