Oracle Sum 函数用于求和列中的值。 它是表达式中最常见的函数之一,是我们最常使用的复杂函数。 Sum 函数一般有两个参数:要求和的列名和 WHERE 子句,下面介绍它的详细用法.
当对一列进行求和时,可以使用如下形式:
`SELECT SUM(column_name) FROM table_name;`
在这里,我们将 table_name 中 column_name 字段的值相加。 例如,下面这个查询求出学生成绩表中学生总分:
`SELECT SUM(marks) FROM student;`
如果要求和的列的值是非数值型的,可以使用 CAST 语句将其转换为数值型:
`SELECT SUM(CAST(marks) AS INTEGER) FROM student;`
我们也可以对多个列求和,如下所示:
`SELECT SUM(column_name1), SUM(column_name2) FROM table_name;`
例如,下面这个查询可以求出学生成绩表中每个学生的总课程数和总成绩:
`SELECT SUM(total_courses), SUM(marks) FROM student;`
我们也可以使用 WHERE 子句来筛选要求和的行,例如:
`SELECT SUM(marks) FROM student WHERE marks > 80;`
上面的查询可以查出所有课程成绩大于 80 分的学生的总成绩。
另外,我们还可以使用 GROUP BY 子句和 HAVING 子句来对结果进行分组,例如:
`SELECT class, SUM(marks) FROM student GROUP BY class HAVING SUM(marks) > 80;`
这里使用了 Group By 子句对学生成绩按班级进行分组,并使用 HAVING 子句设置条件:班级总成绩超过 80 分。
小结
Sum 函数用于求和列中的值,一般有两个参数:要求和的列名和 WHERE 子句。 我们可以使用 CAST 语句将非数值型转换为数值型,并可以使用 GROUP BY 子句和 HAVING 子句对结果进行分组。