Having count en SQL para filtrar un grupo de filas resumidos por una de las funciones de calculo(Sum, Count, Avg etc…). Todos estos ejemplos aplican para el SGBD de su preferencia( oracle, mysql ,Sqlserver, mariadb entre otros).
Este articulo caso mostraremos un ejemplo de Having con cada unas de las funciones desde sql server tomando en cuenta que el having esta acompañado del group by
Para que sirve having en sql?
Para esto debemos entender que hace:
- Primero, examina divide los registros por grupos según la cantidad de columnas especificadas
- En segundo lugar, calcula los valores indicados en función con la clausula de SQL(Sum, count(*) sql, Max, Min etc) utilizada
- Tercero aplica el filtro de grupo para mostrar solo lo que apliquen con la condición Having
Requisitos para iniciar
Para poder hacer cualquiera de estos ejemplos te recomendamos utilizar una GUI que se adapte a tus necesidades o en caso de que seas un desarrollador y necesitas trabajar rapidamente te recomiendo bajar esta extension de mysql en visual studio code.
Ejemplo de función SQL HAVING con MIN
En este ejemplo utilizaremos nuestra tabla de productos indicaremos que necesitamos los registros cuya orden mínima sea menor que < 5
- SELECT [ProductID],MIN([OrderQty])
- FROM [AventureWorks].[SalesLT].[SalesOrderDetail]
- Group by [ProductID]
- HAVING MIN([OrderQty]) < 5

luego de ver este resultado tambien te recomindo aprender mas de la funcion MIN Y MAX ent el siguiente enlace.
Having max sql ejemplos
Ejemplo utilizaremos nuestra tabla de productos indicaremos que necesitamos los registros cuya orden Máxima sea menor que < 5
- SELECT [ProductID],Max([OrderQty])
- FROM [AventureWorks].[SalesLT].[SalesOrderDetail]
- Group by [ProductID]
- HAVING Max([OrderQty]) < 5

count(*) sql server con Ejemplo
Para uso general la función count en sql se utiliza para contar aquí la usamos en nuestra tabla de productos indicaremos que necesitamos los registros cuya orden contenga una cantidad de registros menor que < 5.
- SELECT [ProductID],Count([OrderQty])
- FROM [AventureWorks].[SalesLT].[SalesOrderDetail]
- Group by [ProductID]
- HAVING Count([OrderQty]) < 5

Función SQL HAVING con SUM
Nuestra tabla de productos indicaremos que necesitamos los registros cuya orden sumen mas sea menor que < 5 unidades solicitadas
- SELECT [ProductID],SUM([OrderQty])
- FROM [AventureWorks].[SalesLT].[SalesOrderDetail]
- Group by [ProductID]
- HAVING SUM([OrderQty]) < 5

Group by con HAVING AVG ejmplo
La tabla de productos indicaremos que necesitamos los registros cuya orden en promedio sea menor que < 5
- SELECT [ProductID],AVG([OrderQty])
- FROM [AventureWorks].[SalesLT].[SalesOrderDetail]
- Group by [ProductID]
- HAVING AVG([OrderQty]) < 5

Hemos aprendido a utilizar group by having con ejemplos únicos de cada función; ademas cada comando haveng aquí presentado puede funcionar en el motor de base de datos de su preferencia.
Prueba tu conocimiento del comando Having con count, sum, max
[HDquiz quiz = "354"]