SUM [聚合]

基于行组计算表达式的总和 SUM 返回浮点表达式的 DOUBLE PRECISION 值。否则,返回值与表达式数据类型相同。

SUM 聚合函数与 SUM 分析函数不同,它计算一个 窗口内一组行的表达式总和。

行为类型

不可变

语法

SUM ( [ ALL | DISTINCT ] expression )

参数

ALL
调用组中所有行的聚合函数(默认)
DISTINCT
调用组中发现的所有表达式非重复非 Null 值的聚合函数
表达式
任何 NUMERIC 数据类型或可隐式转换为数字数据类型的任何非数字数据类型。函数返回的数据类型与参数的数字数据类型相同。

溢出处理

如果在使用 SUM() 时遇到数据溢出问题,请使用 SUM_FLOAT 将数据转换为浮点数。

默认情况下,当您对数值数据类型调用此函数时,Vertica 允许静默数值溢出。有关此行为以及如何更改它的更多信息,请参阅SUM、SUM_FLOAT 和 AVG 的数字数据类型溢出

示例

以下查询返回 product_cost 列的总和。

=> SELECT SUM(product_cost) AS cost FROM product_dimension;
   cost
---------
 9042850
(1 row)

另请参阅