Filtros · Microlección

HAVING

Filtra grupos después de aplicar GROUP BY.

Lectura: 5–8 minEjemplo prácticoRelacionado con el curso

En una frase

Filtra grupos después de calcular una agregación.

Cuándo se utiliza

Ayuda a seleccionar únicamente las filas o grupos relevantes. Filtra grupos después de aplicar GROUP BY.

Conexión con el curso: estudia este concepto dentro de una secuencia completa en la lección relacionada.

Sintaxis y ejemplo

SQL
SELECT categoria, COUNT(*) FROM productos GROUP BY categoria HAVING COUNT(*) > 1;

Cómo leerlo

  • SELECT categoria, COUNT(*) FROM productos GROUP BY categoria HAVING COUNT(*) > 1;: elige las columnas o expresiones del resultado.

Error que conviene evitar

No lo memorices sin contexto

WHERE filtra filas antes de agrupar; HAVING filtra grupos después.

Antes de ejecutar una instrucción, predice qué filas y columnas esperas obtener o modificar. Esa predicción permite detectar errores con más rapidez.

Mini práctica

Autoevaluación

Explícalo con tus palabras

Sin copiar la definición, responde: ¿qué problema resuelve HAVING y qué parte del ejemplo produce ese efecto?

Qué debe contener una buena respuesta

Una buena respuesta menciona el momento en que se usa, el efecto sobre filas, columnas o estructura y una precaución relevante. No es necesario recitar la sintaxis exacta.

Compatibilidad

La idea general pertenece a SQL, pero la sintaxis exacta, las funciones disponibles y el comportamiento pueden variar entre PostgreSQL, MySQL, SQLite, SQL Server y Oracle. Verifica la documentación oficial del motor antes de utilizarlo en producción.

Recuerda

  • Filtra grupos después de calcular una agregación.
  • WHERE filtra filas antes de agrupar; HAVING filtra grupos después.
  • Prueba el ejemplo con pocos datos y comprueba el resultado esperado.

Conceptos relacionados