如何处理查询结果?

时间:2019-12-18 03:19:04

标签: sql oracle data-manipulation

假设有来自不同班级的学生参加了考试,并且显示了结果的总和

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

第一个查询之后。...

1 个答案:

答案 0 :(得分:3)

您仅使用case表达式:

SELECT Class,
       (CASE WHEN Class = 'C' THEN 0 ELSE SUM(Grade) END)
FROM Student
GROUP BY Class