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

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

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

第一次接触程序员是看了一本女主程序员的小说,哈哈哈哈,现在自己成为了一个程序员
这可能就是没找到程序员对象,我就先来当当程序员呗
怎莫说,这怎么不算是天赋呢

写在前面
根据最终表的结果来决定要 select 的对象
select 选择多个对象查询时候,各个对象之间用逗号间隔
注意表连接的时候唯一匹配的字符和连接方式
易错点1:
本题计算题目正确率的时候,我一开始用了sum(if (qpd.result ='right',1,0)/ count(distinct qpd.device_id)
错误原因在于:以每次答题的设备计数来计数作为答题总数的时候,不需要对设备数去重
因为存在多次答题,然后某一次正确的情况
这里是不需要去重的。
易错点2:
没有仔细观察最终的输出结果,是按照correct_rate 升序排列的
在最后没有加order by correct_cnt

正确代码如下:
select qd.difficult_level, 
       sum(if(qpd.result='right',1,0))/ count(qpd.device_id) correct_rate
from question_practice_detail qpd

join question_detail qd
on qd.question_id = qpd.question_id

join user_profile up
on qpd.device_id = up.device_id and university = '浙江大学'
group by difficult_level
order by correct_rate

#sql#
全部评论

相关推荐

宇智波爱学习:我还没收到笔试
投递荣耀等公司10个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-24 20:55
阿里国际 Java工程师 2.7k*16.0
程序员猪皮:没有超过3k的,不太好选。春招再看看
点赞 评论 收藏
分享
评论
1
1
分享
牛客网
牛客企业服务