Funciones Agregadas y Agrupación en SQL

  Correcto

En SQL, es fundamental comprender cómo utilizar las funciones agregadas y cómo agrupar datos para obtener resultados resumidos y específicos. A continuación, se presentan las funciones más comunes y su uso.

Para ilustrar mejor, trabajaremos con las siguientes tablas:

Tabla: usuarios

bash
| id  | nombre   |
|-----|----------|
| 1   | Juan     |
| 2   | María    |
| 3   | Pedro    |
| 4   | Ana      |

Tabla: pedidos

bash
| id  | usuario_id | producto      |
|-----|------------|---------------|
| 1   | 1          | Producto A    |
| 2   | 1          | Producto B    |
| 3   | 2          | Producto C    |
| 4   | 3          | Producto D    |

Funciones Agregadas

  Correcto

Las *funciones agregadas en SQL son funciones que realizan cálculos sobre un conjunto de valores y devuelven un único valor. Ejemplos comunes son SUM(), COUNT(), AVG(), MIN(), y MAX(), que se utilizan para sumar, contar, promediar o encontrar valores mínimos y máximos en un grupo de datos.

COUNT

La función COUNT se utiliza para contar el número de registros que cumplen una condición.

sql
SELECT COUNT(*) AS total_usuarios
FROM usuarios;

Resultado:

bash
| total_usuarios |
|----------------|
| 4              |

SUM

La función SUM se utiliza para calcular la suma de un campo numérico.

sql
SELECT SUM(id) AS suma_ids
FROM usuarios;

Resultado:

bash
| suma_ids |
|----------|
| 10       |

AVG

La función AVG se utiliza para calcular el promedio de un campo numérico.

sql
SELECT AVG(id) AS promedio_ids
FROM usuarios;

Resultado:

bash
| promedio_ids |
|--------------|
| 2.5          |

MIN

La función MIN se utiliza para encontrar el valor mínimo de un campo.

sql
SELECT MIN(id) AS id_minimo
FROM usuarios;

Resultado:

bash
| id_minimo |
|-----------|
| 1         |

MAX

La función MAX se utiliza para encontrar el valor máximo de un campo.

sql
SELECT MAX(id) AS id_maximo
  FROM usuarios;

Resultado:

bash
| id_maximo |
|-----------|
| 4         |

GROUP BY

La cláusula GROUP BY se utiliza para agrupar los resultados de una consulta según una o más columnas.

sql
SELECT usuario_id, COUNT(*) AS total_pedidos
FROM pedidos
GROUP BY usuario_id;

Resultado:

bash
| usuario_id | total_pedidos |
|------------|---------------|
| 1          | 2             |
| 2          | 1             |
| 3          | 1             |

HAVING

La cláusula HAVING se utiliza para filtrar los resultados después de aplicar la cláusula GROUP BY.

sql
SELECT usuario_id, COUNT(*) AS total_pedidos
FROM pedidos
GROUP BY usuario_id
HAVING COUNT(*) > 1;

Resultado:

bash
| usuario_id | total_pedidos |
|------------|---------------|
| 1          | 2             |