题解 | #统计复旦用户8月练题情况#

统计复旦用户8月练题情况

https://www.nowcoder.com/practice/53235096538a456b9220fce120c062b3

select device_id,university,count(question_id) ques_count, count(if(result = 'right','right',null)) right_count 
from(
select up.device_id, up.university, qpd.question_id, qpd.result from 
user_profile up
left join question_practice_detail qpd 
on up.device_id = qpd.device_id and month(qpd.date) = 8
where up.university = '复旦大学') t
group by t.device_id,t.university

对于未答题的用户也要统计,因此在user_profile和答题详情表关联时采用左外连接,保留无答题记录的用户信息。

关联后对主表学校进行筛选,外表通过连接条件筛选是8月份的数据,如果是指定2021年8月的话再加条件。

分组自然就是根据device_id和学校,也可以只根据device_id分组,因为学校是一样的。

答题总数没有去重,每个答题记录都算一次,正确次数的计算通过id语句来处理。

全部评论

相关推荐

牛客569470950号:也不知道是哪个群体45年前鬼哭狼嚎的为自己争取的被剥削的权利
点赞 评论 收藏
分享
有趣的牛油果开挂了:最近这个阶段收到些杂七杂八的短信是真的烦
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务