

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# SUM 函数
<a name="r_SUM"></a>

 SUM 函数返回输入列值或表达式值的和。SUM 函数使用数值并忽略 NULL 值。

## 语法
<a name="r_SUM-synopsis"></a>

```
SUM ( [ DISTINCT | ALL ] expression )
```

## 参数
<a name="r_SUM-arguments"></a>

 *expression*   
对其执行函数的目标列或表达式。*表达式*为以下数据类型之一：  
+ SMALLINT
+ INTEGER
+ BIGINT
+ NUMERIC
+ DECIMAL
+ REAL
+ DOUBLE PRECISON
+ SUPER

DISTINCT \$1 ALL   
利用参数 DISTINCT，该函数可在计算和之前消除指定表达式中的所有重复值。利用参数 ALL，该函数可保留表达式中的所有重复值以计算和。ALL 是默认值。

## 数据类型
<a name="c_Supported_data_types_sum"></a>

SUM 函数支持的参数类型为 SMALLINT、INTEGER、BIGINT、NUMERIC、DECIMAL、REAL、DOUBLE PRECISION 和 SUPER。

SUM 函数支持的返回类型为 
+ 适用于 BIGINT、SMALLINT 和 INTEGER 参数的 BIGINT
+ 适用于 NUMERIC 参数的 NUMERIC
+ 适用于浮点参数的 DOUBLE PRECISION
+ 返回与任何其他参数类型的表达式相同的数据类型。

带有 NUMERIC 或 DECIMAL 参数的 SUM 函数结果的默认精度为 38。结果的小数位数与参数的小数位数相同。例如，DEC(5,2) 列的 SUM 返回 DEC(38,2) 数据类型。

## 示例
<a name="r_SUM-examples"></a>

 从 SALES 表中查找所有已付佣金的和：

```
select sum(commission) from sales;

sum
-------------
16614814.65
(1 row)
```

查找佛罗里达州的所有场地的座位数：

```
select sum(venueseats) from venue
where venuestate = 'FL';

sum
--------
250411
(1 row)
```

查找 5 月份售出的座位数：

```
select sum(qtysold) from sales, date
where sales.dateid = date.dateid and date.month = 'MAY';

sum
-------
32291
(1 row)
```