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

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

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

结果

select 
    q2.difficult_level,
    round(sum(if(q1.result='right',1,0))/count(q1.result),4) as correct_rate
from 
    question_practice_detail q1 left join question_detail q2
on q1.question_id = q2.question_id
where q1.device_id in (select device_id from user_profile where university='浙江大学' )
group by q2.difficult_level
order by correct_rate

过程

一步一步来,提取关键字 浙大用户 不同难度 正确率,然后给了三个表 user_profile question_practice_detail question_detail,第一个想法是 把表的数量减少 步骤如下

(1)将question_practice_detail和question_detail进行连接,计算正确率

(2) 在where中进行子查询,选出属于浙江大学的device_id

(3)按difficult_level分组 correct_raet升序排序

简化

select 
    q2.difficult_level,
    round(avg(if(q1.result='right',1,0)),4) as correct_rate
from 
    question_practice_detail q1 left join question_detail q2
on q1.question_id = q2.question_id
where q1.device_id in (select device_id from user_profile where university='浙江大学' )
group by q2.difficult_level
order by correct_rate

全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务