Café y Código

4. Agrupando y Resumiendo (GROUP BY) 📊

Funciones de Agregación

Frecuentemente, el cliente no quiere toda la lista de ventas, sino respuestas a preguntas directas como: "¿Cuánto ganamos este mes?" o "¿Cuántos usuarios nuevos hay?".

SQL trae funciones matemáticas incorporadas para "aplastar" muchas filas en un solo resultado resúmen:

  • COUNT(): Cuenta filas (¿Cuántos?).
  • SUM(): Suma valores numéricos (¿Cuánto es el total?).
  • AVG(): Calcula el promedio (Average).
  • MAX() y MIN(): Extraen el valor más alto y el más bajo.
SQL
1 -- Saber cuántos usuarios existen en total
2 SELECT COUNT(*) FROM usuarios;
3
4 -- Saber la ganancia total
5 SELECT SUM(monto) FROM ventas;

El poder de GROUP BY

Pero, ¿qué pasa si queremos sumar las ventas, pero separadas por País? Ahí usamos GROUP BY. Esta cláusula hace grupos basados en una columna, y luego aplica la función de agregación (como SUM) a cada grupo por separado.

SQL
1 -- Sumar las ventas totales para cada vendedor individualmente
2 SELECT vendedor_id, SUM(monto) AS total_vendido
3 FROM ventas
4 GROUP BY vendedor_id;

HAVING: El WHERE de los grupos

Si después de agrupar, quieres descartar ciertos grupos, no puedes usar WHERE (porque el WHERE filtra filas antes de agruparlas). Para filtrar después de agrupar, se usa HAVING.

SQL
1 -- Mostrar solo los vendedores que hayan vendido más de $10,000 en total
2 SELECT vendedor_id, SUM(monto) AS total_vendido
3 FROM ventas
4 GROUP BY vendedor_id
5 HAVING SUM(monto) > 10000;

🎮 Orden Lógico

Escribe el orden correcto en el que deben aparecer estas palabras claves en una consulta compleja: ORDER BY, SELECT, HAVING, WHERE, GROUP BY, FROM.

👁️ Ver respuesta correcta
  1. SELECT
  2. FROM
  3. WHERE (Filtra primero)
  4. GROUP BY (Hace los grupos)
  5. HAVING (Filtra los grupos resultantes)
  6. ORDER BY (Por último, ordena el resultado final)

Ponte a prueba

Ko-fi
Donaciones
Apoyá cafeycodigo con un café en Ko-fi. Colaboradores: insignia, muro y zona exclusiva.