

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 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/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AVG 函數
<a name="r_AVG"></a>

 AVG 函數傳回輸入表達式值的平均值 (算術平均數)。AVG 函數處理數值，且忽略 NULL 值。

## 語法
<a name="r_AVG-synopsis"></a>

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

## 引數
<a name="r_AVG-arguments"></a>

 *expression *   
函數運算的目標欄或表達式。*expression* 是下列其中一種資料類型：  
+ SMALLINT
+ INTEGER
+ BIGINT
+ NUMERIC
+ DECIMAL
+ REAL
+ DOUBLE PRECISION
+ SUPER

DISTINCT \$1 ALL   
如果指定引數 DISTINCT，則函數在計算平均值之前，將從指定的表達式中消除所有重複值。如果指定引數 ALL，則函數在計算平均值時會保留表達式中的所有重複值。ALL 為預設值。

## 資料類型
<a name="r_AVG-data-types"></a>

 AVG 函數支援的引數類型包括 SMALLINT、INTEGER、BIGINT、NUMERIC、DECIMAL、REAL、DOUBLE PRECISION 及 SUPER。

AVG 函數支援的傳回類型如下：
+ BIGINT 代表任何整數類型引數
+ DOUBLE PRECISION 代表浮點數引數
+ 針對任何其他引數類型，傳回與運算式相同的資料類型。

具有 NUMERIC 或 DECIMAL 引數的 AVG 函數，結果的預設精確度為 38。結果的小數位數和引數的小數位數相同。例如，DEC(5,2) 欄的 AVG 會傳回 DEC(38,2) 資料類型。

## 範例
<a name="r_AVG-examples"></a>

從 SALES 資料表尋找每次交易的平均銷售數量：

```
select avg(qtysold)from sales;

avg
-----
2
(1 row)
```

尋找所有列表所列出的平均總價：

```
select avg(numtickets*priceperticket) as avg_total_price from listing;

avg_total_price
-----------------
3034.41
(1 row)
```

尋找平均支付價格，按月份分組，依遞減順序排列：

```
select avg(pricepaid) as avg_price, month 
from sales, date
where sales.dateid = date.dateid
group by month
order by avg_price desc;

avg_price | month
-----------+-------
659.34 | MAR
655.06 | APR
645.82 | JAN
643.10 | MAY
642.72 | JUN
642.37 | SEP
640.72 | OCT
640.57 | DEC
635.34 | JUL
635.24 | FEB
634.24 | NOV
632.78 | AUG
(12 rows)
```