mysql—一种更有效的sql语句分组、求和和计算方法

ktecyv1j  于 2021-06-23  发布在  Mysql
关注(0)|答案(0)|浏览(270)

有没有更有效的方法(处理器时间)来编写此语句?

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个部分组成,每个部分分别计分。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题