上述总成绩会受where影响么 课程里有语文 数学 外语 总成绩是这三门课程之和么
时间: 2024-03-17 17:47:38 浏览: 79
student-manager-strutsPservletPmysql.zip_classinfobrowse_信息管理系统_
是的,上述总成绩会受WHERE条件的影响,因为WHERE条件限制了只有科目为数学的成绩记录会被包含到查询结果中,因此总成绩也只是数学成绩的总和。
如果需要计算所有科目的总成绩并筛选出总成绩大于300分且包含数学成绩的学生,可以使用以下SQL语句:
```
SELECT name, SUM(score) as total_score
FROM student_scores
WHERE subject IN ('math','chinese','english')
GROUP BY name
HAVING SUM(score) > 300 AND SUM(CASE WHEN subject = 'math' THEN score ELSE 0 END) > 0;
```
这里使用"WHERE"子句筛选出科目为数学、语文、英语的学生成绩记录,"GROUP BY"将结果按照姓名分组,"SUM"聚合函数用来计算每个学生的总成绩。"HAVING"子句中有两个条件:第一个条件筛选出总成绩大于300分的学生,第二个条件是SUM(CASE WHEN subject = 'math' THEN score ELSE 0 END) > 0,表示数学成绩必须大于0才能被包含到结果中。这样就能找出总成绩大于300分且包含数学成绩的学生。
阅读全文