题解 | #浙大不同难度题目的正确率#

浙大不同难度题目的正确率

https://www.nowcoder.com/practice/d8a4f7b1ded04948b5435a45f03ead8c

##本题需要注意以下几点
1.筛选条件,浙江大学,很多题解单独用了where语句,筛选,其实在连接前两个表时直接在on后筛选即可
2.浙江大学的用户做题的正确率,隐含了条件一定是做过题的,所以使用inner join内连接
3.不同难度正确率的计算,明显要按题目难度分组。正确率=做对的题目数量/做题总数量。前者用count/sum(if(qpd.result='right',1,0)),后者 用count(qpd.question_id)都行,case多条件语句也可以,因为是内连接
不会出现左边id匹配后做题结果为空的情况

select 
qd.difficult_level,
sum(
case
when
qpd.result='right'
then
1
else
0
end) / 
count(qpd.question_id) correct_rate
from
user_profile up
inner join
question_practice_detail qpd
on
up.device_id=qpd.device_id and up.university='浙江大学'
inner join
question_detail qd
on
qpd.question_id=qd.question_id 
group by
qd.difficult_level
order by
correct_rate;

全部评论

相关推荐

EkZz:d曲直
点赞 评论 收藏
分享
10-14 21:44
门头沟学院 Java
九门空城:10000月薪+1500房补+中午20餐补+晚饭免费 上下班班车免费通勤 就问你来不来吧
投递京东等公司10个岗位
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务