Básico
10 min de lecturaHAVING
Filtra grupos después de GROUP BY
HAVING es similar a WHERE, pero se usa para filtrar grupos creados por GROUP BY.
Diferencia clave
Sintaxis
sql
1SELECT columna, función_agregada(columna)2FROM tabla3GROUP BY columna4HAVING condición_agregada;Ejemplos
sql
1-- Ciudades con más de 10 usuarios2SELECT ciudad, COUNT(*) as total3FROM usuarios4GROUP BY ciudad5HAVING COUNT(*) > 10;6 7-- Categorías con precio promedio mayor a 508SELECT categoria, AVG(precio) as promedio9FROM productos10GROUP BY categoria11HAVING AVG(precio) > 50;12 13-- Productos con más de 100 ventas14SELECT producto_id, SUM(cantidad) as total15FROM ventas16GROUP BY producto_id17HAVING SUM(cantidad) > 100;Sintaxis
Sintaxis
sql
1SELECT columna, función_agregada(...)2FROM tabla3GROUP BY columna4HAVING condición;Ejemplos
Filtrar grupos
Categorías con más de 3 productos
Ejemplo
sql
1SELECT categoria, COUNT(*) as total_productos2FROM productos3GROUP BY categoria4HAVING COUNT(*) > 35ORDER BY total_productos DESC;Resultado:
| categoria | total_productos | |-----------|----------------| | Electrónicos | 12 | | Ropa | 8 | | Hogar | 5 |