Al terminar esta lección podrás
- Elegir una función de agregación.
- Interpretar el tratamiento de NULL.
- Combinar filtros y resúmenes.
Antes de empezar: SELECT y filtros. Explica en una frase qué recuerdas antes de continuar.
La idea, sin código
Las funciones de agregación calculan un valor a partir de varias filas. COUNT cuenta, SUM suma, AVG calcula una media y MIN/MAX encuentran extremos.
Pregunta guía: ¿qué representa cada fila antes y después de aplicar este concepto?
Sintaxis mínima
COUNT(*) SUM(columna) AVG(columna) MIN(columna) MAX(columna)Primer ejemplo guiado
| id | nombre | categoria | precio | stock |
|---|---|---|---|---|
| 1 | Teclado | Accesorios | 35 | 12 |
| 2 | Monitor | Pantallas | 189 | 5 |
| 3 | Ratón | Accesorios | 22 | 0 |
| 4 | Portátil | Equipos | 899 | 3 |
| 5 | Webcam | Accesorios | 59 | 8 |
Analiza la consulta antes de comprobar el resultado:
SELECT COUNT(*) AS productos,
SUM(stock) AS unidades,
AVG(precio) AS precio_medio
FROM productos;| productos | unidades | precio_medio |
|---|---|---|
| 5 | 28 | 240.8 |
Qué ocurre paso a paso
- COUNT(*) cuenta cinco filas.
- SUM(stock) suma las unidades.
- AVG(precio) calcula la media de valores no nulos.
Error frecuente
Consulta o razonamiento problemático
SELECT nombre, AVG(precio) FROM productos;Mezcla una columna individual con un resumen sin indicar cómo agrupar las filas.
Práctica guiada
Resuelve una sola dificultad cada vez
Calcula el total y la media de los pedidos no cancelados.
Solución razonada
SELECT SUM(total) AS total, AVG(total) AS media FROM pedidos WHERE estado <> 'cancelado';WHERE filtra primero las filas y las agregaciones resumen únicamente los pedidos restantes.
Comprueba: identifica qué parte recupera, filtra, transforma, relaciona o modifica los datos.
Ahora sin guía
Transfiere lo aprendido
Obtén el salario mínimo y máximo de empleados.
Comparar con una solución posible
SELECT MIN(salario) AS minimo, MAX(salario) AS maximo
FROM empleados;Puede existir otra solución válida. Comprueba que produce el resultado pedido y que puedes explicar cada cláusula.
Resumen para llevarte
- Las agregaciones resumen varias filas.
- COUNT(*) y COUNT(columna) no siempre equivalen.
- Los alias explican qué representa cada resultado.
Siguiente paso: Continúa con Crear grupos con GROUP BY.