题解 | #验证刷题效果,输出题目真实通过率#

验证刷题效果,输出题目真实通过率

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

/* question_pass_rate :每个用户不同题目的通过率,同一用户同一题重复提交通过仅计算一次 = 通过的题目总数/总题目数 通过的题目总数:distinct if(result_info = 1, question_id,null) 总题目数:distinct question_id so question_pass_rate: count(distinct if(result_info = 1, question_id, null)) / jeu44count(distinct question_id) as question_pass_rate pass_rate 表示每个用户的提交正确率(只要有提交一次即计算一次) =通过的次数/总答题次数 通过的次数:sum(result_info) 总答题次数:count(result_info) pass_rate = sum(result_info) / count(result_info) question_per_cnt表示平均每道不同的题目被提交的次数(只要有一次提交即计算一次) =总提交次数/总题目数 总提交次数:一共刷了多少次题,对question_id 进行计数 总题目数:对question_id去重计数 so pass_rate = count(qusetion_id) / count(distinct question_id) */

select

user_id

, count(distinct if(result_info = 1, question_id, null)) / count(distinct question_id) as question_pass_rate

,sum(result_info) / count(result_info) as pass_rate

,count(question_id) / count(distinct question_id) as question_per_cnt

from done_questions_record

group by 1

having question_pass_rate > 0.6

全部评论

相关推荐

不愿透露姓名的神秘牛友
02-12 10:05
小米集团 算法工程师 28.0k*15.0
泡沫灬一触即破:楼上那个看来是看人拿高薪,自己又不如意搁这泄愤呢是吧,看你过往评论很难不怀疑你的精神状态
点赞 评论 收藏
分享
02-02 20:25
门头沟学院 Java
数学转码崽:八股文也算是前人总结的精华,但是因为全是结果导向,你光背不去理解它背后的深层原理和这样做的原因,反而忽略了程序员最该重视的过程导向。推荐你不会的就去多问ai,比如我当时背的时候,concurrenthashmap底层原理常见八股网站都会讲,但是我不理解为什么它去用synchronize锁节点,为什么不用reentrantlock去锁节点。面试官问我你为什么觉得synchronize在这个场景下性能更好呢?虽然面试官可能也不确定清楚,但是你可以尝试给他解答,让他看见你的思考,这才是最重要的,毕竟你没实习,你的项目你也无法证明是你自己思考的产物,那就在别的地方体现你的能力
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务