题解 | #对试卷得分做min-max归一化#

对试卷得分做min-max归一化

https://www.nowcoder.com/practice/2b7acdc7d1b9435bac377c1dcb3085d6

SELECT uid,exam_id,ROUND(AVG(avg_score)) avg_new_score
FROM (
SELECT uid,exam_id,
IF(max_sc=min_sc,score,(score-min_sc)/(max_sc-min_sc)*100) AS avg_score 
FROM (
SELECT uid,exam_id,score,
MAX(score) over(PARTITION BY exam_id) max_sc,
MIN(score) over(PARTITION BY exam_id) min_sc
FROM exam_record JOIN examination_info USING(exam_id)
WHERE difficulty='hard' AND score IS NOT NULL
)t
)t1
GROUP BY uid,exam_id
ORDER BY exam_id,avg_new_score DESC;

要考虑分数只有一个的情况,所以需要添加一个判断条件。

全部评论

相关推荐

八月份以为是开始没想到是巅峰,九月约面反而少了,每天就是疯狂做测评和AI面试。这周更离谱,一个新的面邀都没有说好的金九银十呢?
牛客58830004...:九月到现在只有一场三七互娱的线下面试,java 无实习能找到工作吗 哥能告诉我客户端有希望吗,怎么转客户端
我的秋招日记
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务