Content
SQL GROUP BY y HAVING: Agregación de Datos Explicada
SQL GROUP BY y HAVING: Agregación de Datos Explicada
Introducción
GROUP BY y HAVING son cláusulas fundamentales para resumir y analizar datos en SQL. Permiten agrupar filas y aplicar funciones de agregación como SUM, COUNT, AVG, etc.
GROUP BY: Fundamentos
Sintaxis Básica
Ejemplo Simple
Tabla: ventas
| id | vendedor | producto | cantidad | precio |
|----|----------|----------|----------|--------|
| 1 | Ana | Laptop | 2 | 1000 |
| 2 | Carlos | Mouse | 10 | 25 |
| 3 | Ana | Teclado | 5 | 50 |
| 4 | Carlos | Laptop | 1 | 1000 |
| 5 | María | Mouse | 8 | 25 |
Resultado:
| vendedor | total_ventas |
|----------|--------------|
| Ana | 2250 |
| Carlos | 1250 |
| María | 200 |
---
Funciones de Agregación
| Función | Descripción | Ejemplo |
|---------|-------------|---------|
| COUNT() | Cuenta filas | COUNT(*) o COUNT(columna) | | SUM() | Suma valores | SUM(precio) | | AVG() | Promedio | AVG(cantidad) | | MAX() | Valor máximo | MAX(precio) | | MIN() | Valor mínimo | MIN(precio) | | GROUP_CONCAT() | Concatena valores | GROUP_CONCAT(producto) |
Ejemplos de Cada Función
---
GROUP BY con Múltiples Columnas
Resultado:
| vendedor | producto | total |
|----------|----------|-------|
| Ana | Laptop | 2 |
| Ana | Teclado | 5 |
| Carlos | Mouse | 10 |
| Carlos | Laptop | 1 |
| María | Mouse | 8 |
---
HAVING: Filtrar Grupos
HAVING filtra los resultados DESPUÉS de la agregación, a diferencia de WHERE que filtra ANTES.
WHERE vs HAVING
Ejemplo Práctico
Vendedores con más de 5 productos vendidos:
Resultado:
| vendedor | total_productos |
|----------|-----------------|
| Carlos | 11 |
| Ana | 7 |
| María | 8 |
---
Orden de Ejecución SQL
Es crucial entender el orden:
1. FROM - Selecciona la tabla 2. WHERE - Filtra filas 3. GROUP BY - Agrupa las filas 4. HAVING - Filtra los grupos 5. SELECT - Selecciona columnas 6. ORDER BY - Ordena resultados 7. LIMIT - Limita resultados
---
Casos de Uso Avanzados
1. Ventas por Mes
2. Productos Más Vendidos
3. Clientes con Múltiples Compras
4. Análisis de Cohortes
---
GROUP BY con ROLLUP
ROLLUP genera subtotales y gran total:
---
Errores Comunes
Error 1: Columna no está en GROUP BY
Error 2: Usar WHERE con Agregaciones
Error 3: Confundir COUNT(*) con COUNT(columna)
---
Optimización
1. Índices para GROUP BY
2. Filtrar Antes con WHERE
3. Limitar Resultados
Conclusión
GROUP BY y HAVING son herramientas esenciales para análisis de datos. Dominarlas te permitirá crear reportes poderosos y extraer insights valiosos de tus datos.
---
Consejo: Usa AI2sql para generar consultas GROUP BY complejas automáticamente y ahorra tiempo en tu análisis de datos.
Share this
More Articles

TOOLS
Build an OpenClaw Agent Team in 15 Minutes (2026)
Feb 5, 2026

TOOLS
OpenClaw AI Assistant: Local 24/7 Automation Guide 2026
Feb 4, 2026
TOOLS
SQL WITH Clause (CTE): Complete Guide with Examples
Jan 14, 2026
TOOLS
MySQL to PostgreSQL Migration: Complete 2026 Guide with Syntax Conversion
Jan 14, 2026
TOOLS
SQL vs Excel: When Should You Make the Switch? [2026]
Jan 14, 2026