假设有来自不同班级的学生参加了考试,并且显示了结果的总和
Student Table ( Student_id, Grade, Class)
因此,如果我想查询各个班级的成绩总和,我将按照以下步骤进行操作
SELECT Class, SUM(Grade)
FROM Student
GROUP BY Class
查询结果:
Class : Grade
A : 500
B : 400
C : 300
但是由于C类中的作弊事件,C类中的总成绩应显示为0。在应用第一个查询语句后如何处理?
预期结果:
Class : Grade
A : 500
B : 400
C : 0
第一个查询之后。...
答案 0 :(得分:3)
您仅使用case
表达式:
SELECT Class,
(CASE WHEN Class = 'C' THEN 0 ELSE SUM(Grade) END)
FROM Student
GROUP BY Class