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

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

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

要求

浙江大学的用户在不同难度题目下答题的正确率情况

思路

  1. 浙江大学: univeristy = "浙江大学"
  2. 不同难度: group by difficult_level
  3. 正确率: sum(if(result = "right",1,0) / count(result)
  4. 这里要用到三张表的信息,所以我们需要用到两个JOIN 将三张表连接。
  5. 这里是要求根据准确率的升序排列而不是难度,不要写错了 (PS:这里如果用order by difficult_level,那么SQL 是默认根据A-Z 排列而不是EASY,MEDIUM,HARD 的顺序。)

实现

select qd.difficult_level, sum(if(qp.result = "right",1,0)) / count(qp.result) as correct_rate FROM
user_profile as up
right JOIN question_practice_detail as qp on up.device_id = qp.device_id
left JOIN question_detail as qd ON qp.question_id = qd.question_id
where up.university = "浙江大学"
group by qd.difficult_level
order by correct_rate
全部评论

相关推荐

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