

 Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la [publicación del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Función AVG
<a name="r_AVG"></a>

 La función AVG devuelve el promedio (media aritmética) de los valores de la expresión de entrada. La función AVG funciona con valores numéricos e ignora los valores NULL.

## Sintaxis
<a name="r_AVG-synopsis"></a>

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

## Argumentos
<a name="r_AVG-arguments"></a>

 *expresión *   
La columna o expresión de destino sobre la que opera la función. La *expresión* corresponde a uno de los siguientes tipos de datos:  
+ SMALLINT
+ INTEGER
+ BIGINT
+ NUMERIC
+ DECIMAL
+ REAL
+ DOUBLE PRECISION
+ SUPER

DISTINCT \| ALL   
Con el argumento DISTINCT, la función elimina todos los valores duplicados de la expresión especificada antes de calcular el promedio. Con el argumento ALL, la función retiene todos los valores duplicados de la expresión especificada para calcular el promedio. El valor predeterminado es ALL.

## Tipos de datos
<a name="r_AVG-data-types"></a>

 Los tipos de argumento compatibles con la función AVG son SMALLINT, INTEGER, BIGINT, NUMERIC, DECIMAL, REAL, DOUBLE PRECISION y SUPER.

Los tipos de retorno compatibles con la función AVG son los siguientes: 
+ BIGINT para cualquier argumento de tipo entero
+ DOUBLE PRECISION para un argumento de punto flotante
+ Devuelve el mismo tipo de datos como expresión para cualquier otro tipo de argumento.

La precisión predeterminada para un resultado de la función AVG con un argumento NUMERIC o DECIMAL de es 38. La escala del resultado es la misma que la escala del argumento. Por ejemplo, una función AVG de una columna DEC(5,2) devuelve un tipo de datos DEC(38,2).

## Ejemplos
<a name="r_AVG-examples"></a>

Encontrar la cantidad promedio vendida por transacción de la tabla SALES: 

```
select avg(qtysold)from sales;

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

Encontrar el precio total promedio en lista para todas las listas: 

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

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

Encontrar el precio promedio pagado, agrupado por mes en orden descendiente: 

```
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)
```