我有一张这样的表:
ls -l
我想计算一个学生每年90岁以上的成绩。上表所需的输出是:
Student_ID | Year | Math Grade | English Grade
----------------------------------------------
1 | 2009 | 90 | 92
2 | 2009 | 80 | 95
1 | 2010 | 75 | 85
答案 0 :(得分:2)
您应该使用case
声明执行此操作:
select ((math_grade > 90 then 1 else 0 end) + (english_grade > 90 then 1 else 0 end)
) as grades_above_90
使用除法的问题在于,如果阈值小于50,它就不起作用。
答案 1 :(得分:0)
为此找出一个非常简单的解决方案。我添加到SELECT语句的末尾: SELECT math_grade / 90 + english_grade / 90 AS grade_above_90