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
How to Build Your Own AI Agent Team with OpenClaw in 15 Minutes
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