Módulo 3 · Organizar y resumir

Crear grupos con GROUP BY

Calcula un resumen independiente para cada categoría.

⏱ 22 minNivel: InicialRequisito: Funciones de agregación

0 de 40 lecciones

Al terminar esta lección podrás

  • Crear grupos.
  • Explicar qué representa cada fila resumida.
  • Evitar columnas ambiguas.

Antes de empezar: Funciones de agregación. Explica en una frase qué recuerdas antes de continuar.

La idea, sin código

GROUP BY divide las filas en grupos que comparten uno o varios valores. Después, cada función de agregación se calcula dentro de cada grupo.

Pregunta guía: ¿qué representa cada fila antes y después de aplicar este concepto?

Sintaxis mínima

Estructura
SELECT categoria, COUNT(*)
FROM tabla
GROUP BY categoria;

Primer ejemplo guiado

Datos de ejemplo: tabla productos
idnombrecategoriapreciostock
1TecladoAccesorios3512
2MonitorPantallas1895
3RatónAccesorios220
4PortátilEquipos8993
5WebcamAccesorios598

Analiza la consulta antes de comprobar el resultado:

SQL
SELECT categoria, COUNT(*) AS productos, SUM(stock) AS unidades
FROM productos
GROUP BY categoria
ORDER BY categoria;
Resultado esperado
categoriaproductosunidades
Accesorios320
Equipos13
Pantallas15

Qué ocurre paso a paso

  1. GROUP BY crea un grupo por categoría.
  2. COUNT y SUM se calculan dentro de cada grupo.
  3. El resultado contiene una fila por categoría.
Comprueba que lo entendiste

¿Qué representa una fila tras agrupar por categoria?

Error frecuente

Consulta o razonamiento problemático

Revisar
SELECT categoria, nombre, COUNT(*) FROM productos GROUP BY categoria;

nombre no identifica al grupo ni está agregado; su significado sería ambiguo.

Práctica guiada

Básica · apoyo graduado

Resuelve una sola dificultad cada vez

Cuenta pedidos por estado.

Ahora sin guía

Intermedia · práctica autónoma

Transfiere lo aprendido

Calcula el salario medio por departamento.

Comparar con una solución posible
SQL
SELECT departamento, AVG(salario) AS salario_medio
FROM empleados
GROUP BY departamento;

Puede existir otra solución válida. Comprueba que produce el resultado pedido y que puedes explicar cada cláusula.

Resumen para llevarte

  • GROUP BY cambia la unidad del resultado.
  • Las columnas no agregadas deben describir el grupo.
  • Primero decide qué representa cada fila final.

Siguiente paso: Continúa con Filtrar grupos con HAVING.

Consulta rápida