🔹 Introducción
- Seleccionar columnas (
SELECT,FROM). - Filtrar resultados (
WHERE). - Ordenar y limitar registros (
ORDER BY,LIMIT). - Usar alias y operaciones simples (
AS, cálculos básicos).
Pero a veces no queremos ver cada fila individualmente, sino obtener un resumen de la información:
- ¿Cuántos alumnos hay en total?
- ¿Cuál es la edad promedio de los alumnos?
- ¿Cuál es la edad más alta y la más baja?
👉 Para eso existen las funciones de agregación en SQL.
Las principales son:
COUNT()→ cuenta la cantidad de registros.SUM()→ suma los valores de una columna.AVG()→ calcula el promedio.MIN()→ devuelve el valor mínimo.MAX()→ devuelve el valor máximo.
🔹 Nuestra tabla de ejemplo
Seguimos trabajando con alumnos:
| id | nombre | edad | ciudad |
|---|---|---|---|
| 1 | Ana | 20 | Buenos Aires |
| 2 | Juan | 17 | Ciudad de México |
| 3 | Laura | 22 | Madrid |
| 4 | Pedro | 18 | Madrid |
🔹 Ejemplo 1: contar registros con COUNT()
Queremos saber cuántos alumnos hay en total:
SELECT COUNT(*) AS Total_Alumnos
FROM alumnos;
👉 Resultado esperado:
| Total_Alumnos |
|---|
| 4 |
🔹 Ejemplo 2: sumar valores con SUM()
Queremos la suma de todas las edades:
SELECT SUM(edad) AS Suma_Edades
FROM alumnos;
👉 Resultado esperado:
| Suma_Edades |
|---|
| 77 |
(20 + 17 + 22 + 18 = 77)
🔹 Ejemplo 3: calcular promedio con AVG()
Queremos la edad promedio de los alumnos:
SELECT AVG(edad) AS Promedio_Edad
FROM alumnos;
👉 Resultado esperado:
| Promedio_Edad |
|---|
| 19.25 |
🔹 Ejemplo 4: obtener el valor mínimo con MIN()
Queremos la edad más baja:
SELECT MIN(edad) AS Edad_Minima
FROM alumnos;
👉 Resultado esperado:
| Edad_Minima |
|---|
| 17 |
🔹 Ejemplo 5: obtener el valor máximo con MAX()
Queremos la edad más alta:
SELECT MAX(edad) AS Edad_Maxima
FROM alumnos;
👉 Resultado esperado:
| Edad_Maxima |
|---|
| 22 |
🔹 Ejemplo 6: combinar varias funciones de agregación
Podemos pedir varios cálculos al mismo tiempo:
SELECT
COUNT(*) AS Total,
SUM(edad) AS Suma,
AVG(edad) AS Promedio,
MIN(edad) AS Minima,
MAX(edad) AS Maxima
FROM alumnos;
👉 Resultado esperado:
| Total | Suma | Promedio | Minima | Maxima |
|---|---|---|---|---|
| 4 | 77 | 19.25 | 17 | 22 |
🔹 Ejemplo 7: usar WHERE con funciones de agregación
Podemos filtrar antes de calcular.
Por ejemplo, alumnos que viven en Madrid:
SELECT COUNT(*) AS Alumnos_Madrid, AVG(edad) AS Promedio_Madrid
FROM alumnos
WHERE ciudad = 'Madrid';
👉 Resultado esperado:
| Alumnos_Madrid | Promedio_Madrid |
|---|---|
| 2 | 20 |
🔹 Ejercicio práctico (para ti)
- Calcula cuántos alumnos hay en la tabla.
- Calcula la suma de las edades de todos los alumnos.
- Obtén el promedio de edad de los alumnos.
- Obtén la edad mínima y máxima.
- Muestra cuántos alumnos viven en “Buenos Aires”.
🔹 Soluciones
SELECT COUNT(*)
FROM alumnos;
SELECT SUM(edad)
FROM alumnos;
SELECT AVG(edad)
FROM alumnos;
SELECT MIN(edad), MAX(edad)
FROM alumnos;
SELECT COUNT(*)
FROM alumnos
WHERE ciudad = 'Buenos Aires';
🔹 Mini Quiz
Resultados
#1. ¿Qué función usamos para contar registros?
#2. ¿Qué devuelve AVG(edad)?
#3. ¿Qué función devuelve el valor más bajo de una columna?
🔹 Resumen de la lección
- Las funciones de agregación resumen información de varias filas en un solo valor.
COUNT()→ cuenta registros.SUM()→ suma valores.AVG()→ calcula el promedio.MIN()→ devuelve el mínimo.MAX()→ devuelve el máximo.- Puedes combinarlas en una sola consulta y usarlas junto con
WHERE.
👉 En la próxima lección aprenderás a agrupar resultados con GROUP BY y filtrar grupos con HAVING, para obtener estadísticas más detalladas.
🔎 Descubre más conceptos y ejercicios en el índice general del Curso SQL.