# AVG() en SQL: sintaxis y ejemplos de uso de la función

AVG() en SQL permite determinar el promedio de los valores contenidos en una columna. La función se puede ampliar y utilizar para otras acciones, ignorando los valores NULL.

## ¿Qué es AVG() en SQL?

La función AVG() en [Structured Query Language (SQL)](https://www.ionos.mx/digitalguide/servidores/know-how/que-es-sql/) te permite calcular el **valor medio o promedio** de los valores almacenados en una columna específica. Para la consulta utiliza el [comando SQL](https://www.ionos.mx/digitalguide/servidores/configuracion/comandos-sql/) SELECT. Esta función es especialmente útil para hacer balances, análisis y cálculos de precios, entre otras cosas, ya que los valores promedio proporcionan rápidamente una visión general fiable. Es importante tener en cuenta que **la función no tiene en cuenta los valores NULL** en sus cálculos.

## Sintaxis y funcionamiento

La sintaxis básica de la función AVG() es muy sencilla e incluye pocos parámetros. Tiene el siguiente aspecto:

```sql
SELECT AVG(nombre_de_la_columna) 
FROM nombre_de_la_tabla;
```

En este ejemplo, calculas el promedio utilizando el comando SELECT y la función AVG(). Con el comando FROM especificas qué tabla se debe utilizar.

Si quieres utilizar la función AVG() de SQL de forma aún más precisa, puedes utilizar la condición WHERE. La sintaxis es la siguiente:

```sql
SELECT AVG(nombre_de_la_columna) 
FROM nombre_de_la_tabla 
WHERE condición;
```

También puedes enumerar varias condiciones.

## Ejemplos del funcionamiento de AVG() en SQL

La mejor forma de entender cómo funciona AVG() en SQL es utilizar la función para un propósito específico. Imagina una tabla llamada “ListaClientes” en la que se almacenan los clientes: sus nombres, números de cliente, ciudades, cantidad de productos comprados e importe total en euros para un período concreto. La tabla sería la siguiente:

<table>
  <thead>
    <tr>
      <th><strong>Número Cliente</strong></th>
      <th><strong>Nombre</strong></th>
      <th><strong>Ciudad</strong></th>
      <th><strong>Artículos</strong></th>
      <th><strong>Importe Total</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1427</td>
      <td>Sánchez</td>
      <td>Nueva York</td>
      <td>14</td>
      <td>634</td>
    </tr>
    <tr>
      <td>1377</td>
      <td>García</td>
      <td>Los Ángeles</td>
      <td>9</td>
      <td>220</td>
    </tr>
    <tr>
      <td>1212</td>
      <td>Fernández</td>
      <td>Los Ángeles</td>
      <td>15</td>
      <td>619</td>
    </tr>
    <tr>
      <td>1431</td>
      <td>Miller</td>
      <td>Providence</td>
      <td>22</td>
      <td>912</td>
    </tr>
    <tr>
      <td>1118</td>
      <td>Johnson</td>
      <td>Houston</td>
      <td>10</td>
      <td>312</td>
    </tr>
  </tbody>
</table>

Ahora puedes, por ejemplo, calcular cuánto te han pagado tus clientes de media con la función AVG(). Utiliza este comando:

```sql
SELECT AVG(ImporteTotal) 
FROM ListaClientes;
```

El resultado será el siguiente:

<table>
  <thead>
    <tr>
      <th><strong>Importe Total</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>539.4</td>
    </tr>
  </tbody>
</table>

Si quieres saber cuántos artículos han pedido tus clientes de media, el comando es similar:

```sql
SELECT AVG(Artículos) 
FROM ListaClientes;
```

El resultado será:

<table>
  <thead>
    <tr>
      <th><strong>Artículos</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>14</td>
    </tr>
  </tbody>
</table>

## La función combinada con WHERE

Como has podido aprender anteriormente, puedes añadir una o más condiciones a la función para obtener resultados más específicos. Por ejemplo, si quieres calcular la facturación media de los clientes en Barcelona debes añadir:

```sql
SELECT AVG(ImporteTotal) 
FROM ListaClientes 
WHERE Ciudad = 'Los Ángeles';
```

El resultado será:

<table>
  <thead>
    <tr>
      <th><strong>Importe Total</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>419.5</td>
    </tr>
  </tbody>
</table>

## Combinación con otros parámetros

También puedes combinar la función AVG() con otros parámetros para, por ejemplo, mostrar todos los clientes cuyo gasto supera la media. El código es el siguiente:

```sql
SELECT NúmeroCliente, Nombre, Ciudad, Artículos, ImporteTotal 
FROM ListaClientes 
WHERE ImporteTotal > (SELECT AVG(ImporteTotal) FROM ListaClientes);
```

El resultado será:

<table>
  <thead>
    <tr>
      <th>Número Cliente</th>
      <th>Nombre</th>
      <th>Ciudad</th>
      <th>Artículos</th>
      <th>Importe Total</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1427</td>
      <td>Sánchez</td>
      <td>Nueva York</td>
      <td>14</td>
      <td>634</td>
    </tr>
    <tr>
      <td>1212</td>
      <td>Fernández</td>
      <td>Los Ángeles</td>
      <td>15</td>
      <td>619</td>
    </tr>
    <tr>
      <td>1431</td>
      <td>Miller</td>
      <td>Providence</td>
      <td>22</td>
      <td>912</td>
    </tr>
  </tbody>
</table>

## Otras funciones similares a AVG() en SQL

Además de AVG(), SQL ofrece otras funciones que te permiten calcular ciertas cosas fácilmente. Por ejemplo, **SUM()** te permite calcular la suma de todos los valores numéricos de una columna y [COUNT()](https://www.ionos.mx/digitalguide/servidores/configuracion/sql-count/) te permite saber cuántas filas cumplen un determinado criterio.

Consejo La solución ideal para tu base de datos: con el [Hosting SQL Server](https://www.ionos.mx/cloud/sql-server-hosting "Hosting SQL Server de IONOS") de IONOS puedes elegir entre MSSQL, MySQL y MariaDB. Además, disfrutarás de una arquitectura de seguridad robusta, asesoramiento personalizado y una configuración perfectamente adaptada a tus necesidades.


This is a markdown version of: [https://www.ionos.mx/digitalguide/servidores/configuracion/sql-avg/](https://www.ionos.mx/digitalguide/servidores/configuracion/sql-avg/) for AI/LLM consumption.