有没有更有效的方法(处理器时间)来编写此语句?
SELECT student_year,
student_id,
sum(score_0)/sum(exam),
sum(score_1)/sum(exam),
sum(score_2)/sum(exam),
sum(score_3)/sum(exam)
FROM student_scores
WHERE student_year = 2018 AND exam > 0
group BY student_year, student_id;
行如下所示:
STUD_YEAR STUD_ID SCORE0 SCORE1 SCORE2 SCORE3 EXAM
2018 21354 17 21 19 25 1
2018 21354 22 19 0 23 1
2018 21354 0 0 0 0 0
2018 67864 10 15 10 20 1
所以对于学生21354来说,计算结果是
(17+22+0)/(1+1+0), (21+19+0)/(1+1+0), (19+0+0)/(1+1+0), (25+23+0)/(1+1+0)
结果是
19.5, 20, 21.5, 24
放在上下文中的旁注。一个学生每年可以参加几次考试,每次考试由4个部分组成,每个部分分别计分。
暂无答案!
目前还没有任何答案,快来回答吧!