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

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

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

select distinct B.device_id,B.university,COUNT(B.result) as question_cnt,
               sum(B.right) AS right_question_cnt
from (select A.device_id,A.university,Q.question_id,Q.result,
       case when Q.result = 'right' then 1 else 0 end as 'right'
       from (select device_id,university from user_profile where university = '复旦大学') A 
       left join question_practice_detail Q on A.device_id = Q.device_id and Q.date like '2021-08%') B
group by device_id

1、筛选出复旦大学的学生device_id,university,作为表A

select device_id,university from user_profile where university = '复旦大学'

2、A表与question_practice_detail表左连接 连接条件

A.device_id = Q.device_id and Q.date like '2021-08%',

选出想要的列

A.device_id,A.university,Q.question_id,Q.result,case when Q.result = 'right' then 1 else 0 end as 'right'

作为表B

3、简单统计

全部评论

相关推荐

周述安:这都能聊这么多。别人要是骂我,我就会说你怎么骂人?他要是继续骂我,我就把评论删了。
点赞 评论 收藏
分享
头像
10-15 22:27
已编辑
门头沟学院 C++
罗格镇的小镇做题家:我投了hr打电话来说学历太低了不符合要求,建议投荣耀,结果荣耀也投了一定水花没有,非本211硕
投递华为等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务