DevPath · Aprende a programar ESPTEN

Agregaciones: GROUP BY y HAVING

Funciones agregadas

De muchas filas a un solo valor

Hasta ahora cada consulta devolvía una fila por registro. Las funciones agregadas hacen lo contrario: toman un conjunto de filas y lo resumen en un único valor.

Función Qué calcula
COUNT(*) número de filas
COUNT(col) número de valores no nulos de col
SUM(col) suma de los valores
AVG(col) media (promedio) de los valores
MIN(col) valor mínimo
MAX(col) valor máximo

Por ejemplo, sobre la tabla productos:

SELECT COUNT(*) FROM productos;        -- ¿cuántos productos hay?
SELECT AVG(precio) FROM productos;     -- precio medio de todos
SELECT MIN(precio), MAX(precio) FROM productos;

Sin GROUP BY, la función agregada actúa sobre todas las filas de la tabla (o las que sobrevivan al WHERE) y produce una sola fila de resultado.

Alias con AS

Una columna agregada se llamaría literalmente AVG(precio). Para darle un nombre legible se usa AS:

SELECT AVG(precio) AS precio_medio, COUNT(*) AS total
FROM productos;

COUNT(*) cuenta filas (incluidas las que tengan nulos); COUNT(col) cuenta solo las filas en las que col no es NULL. Esa diferencia importa cuando hay datos incompletos.

Pon esto en práctica

DevPath es un curso práctico: aquí lees la teoría; en la app la pones en práctica con ejercicios que se ejecutan de verdad, sin conexión.

Empezar gratis en la app →
Agrupar con GROUP BY →