📘 Lección 7: Funciones de agregación — COUNT, SUM, AVG, MIN, MAX

🔹 Introducción

Hasta ahora aprendiste a:

  • 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:

idnombreedadciudad
1Ana20Buenos Aires
2Juan17Ciudad de México
3Laura22Madrid
4Pedro18Madrid

🔹 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:

TotalSumaPromedioMinimaMaxima
47719.251722

🔹 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_MadridPromedio_Madrid
220

🔹 Ejercicio práctico (para ti)

  1. Calcula cuántos alumnos hay en la tabla.
  2. Calcula la suma de las edades de todos los alumnos.
  3. Obtén el promedio de edad de los alumnos.
  4. Obtén la edad mínima y máxima.
  5. 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?

Previa
Finalizar

🔹 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.

Scroll al inicio