Cómo usar la cláusula HAVING de MySQL donde la suma es mayor que el umbral

Como Usar La Clausula Having De Mysql Donde La Suma Es Mayor Que El Umbral



Cuando trabaje con la base de datos MySQL, a menudo tendrá instancias en las que deseará filtrar los valores. Aunque puede usar la cláusula WHERE, no siempre funciona para todas las instancias. La cláusula HAVING se usa cuando desea ejecutar una consulta de filtro usando una función agregada y aplicar las agrupaciones.

La cláusula HAVING se basa en la cláusula GROUP BY en su filtro y ejecuta la consulta según la condición proporcionada. Restringe el filtro según la condición y solo devuelve los grupos seleccionados si cumplen la condición. Tenemos ejemplos del uso de la cláusula MySQL HAVING donde la suma supera el umbral. De esa manera, dominará cómo usarlo al final de la publicación de hoy.







Cómo usar la cláusula HAVING de MySQL donde la suma es mayor que el umbral

Aplica la cláusula MySQL HAVING con la cláusula GROUP BY. Su sintaxis es la siguiente:



SELECCIONE expresión1, .. expresión_n, función_agregada (expresión) FROM nombre_tabla GROUP BY expresión HAVING ;

Puede usar las diferentes funciones agregadas, incluidas SUM(), COUNT(), MIN(), MAX() y AVG(). Tenga en cuenta que cualquier expresión que no se use con la función de agregado debe mencionarse con la cláusula GROUP BY.



En cuanto a la condición, se aplica a los resultados agregados donde especifica el umbral que desea verificar con la condición. Por ejemplo, puede aplicar la función SUM() y verificar si la expresión alcanza un umbral de 10. Comprenderemos más sobre esto en los ejemplos provistos.





Para comprender cómo funciona la cláusula HAVING, creemos una base de datos de muestra con la que trabajaremos. Nombramos nuestra base de datos como 'registro'.



También vamos a crear una tabla llamada 'trabajadores' para que contenga nuestras diferentes columnas y tipos de datos. Aquí trabajamos con los datos de los trabajadores como el nombre, horario, fecha de trabajo, etc.

Al verificar la descripción de nuestra tabla, podemos confirmar que todas las columnas se crearon con éxito.

Insertamos los valores en nuestra tabla. Tenemos diferentes trabajadores que están trabajando en diferentes horas y días. Usando estos datos, podemos aplicar la cláusula HAVING donde la suma excede el umbral.

Para nuestro primer ejemplo, consideremos un caso en el que queremos encontrar a los trabajadores que trabajaron la mayor cantidad de horas. Para la cláusula HAVING, incluya la función de suma agregada para horas. En la cláusula GROUP BY, agrupamos las filas usando la fila de nombre para ayudar a clasificar a los trabajadores con horas totales que superan el umbral.

Si nuestro umbral para el total de horas es 7, ejecutamos nuestro comando de la siguiente manera:

SELECCIONE nombre, SUMA (horas) COMO total_horas_por_persona DESDE el GRUPO de trabajadores POR nombre QUE TIENE suma (horas)> 7;

Al ejecutar el comando, obtenemos una salida que contiene dos filas ya que solo dos trabajadores excedieron el umbral que se especifica en la cláusula HAVING.

Supongamos que queremos clasificar los departamentos para ver aquellos con trabajadores que trabajan en horas superiores a un umbral de 7 horas. Seleccionamos el departamento, luego usamos la función de agregado SUM con las horas y agrupamos las filas usando la expresión del departamento.

Nuestro comando es el siguiente:

SELECCIONE departamento, SUMA (horas) COMO total_horas_por_departamento DESDE el GRUPO de trabajadores POR departamento QUE TIENE suma (horas)> 7;

A partir de los resultados, podemos verificar que logramos filtrar las filas para dejar solo aquellas con una suma de horas superior a nuestro umbral.

Del mismo modo, si queremos filtrar la fecha de trabajo con el mayor número de trabajadores que superen un umbral de 10 horas, seleccionamos la expresión de fecha de trabajo. Luego, usamos la función SUMA con las horas y agrupamos las filas usando la fecha de trabajo.

El comando es el siguiente:

SELECCIONE la fecha de trabajo, SUMA (horas) COMO las horas más altas_trabajadas DESDE el GRUPO de trabajadores POR la ​​fecha de trabajo QUE TIENE suma (horas)> 10;

Después de ejecutar el comando, los resultados muestran que solo una fecha de trabajo tiene su suma de horas totales que superan el umbral:

Conclusión

La cláusula MySQL HAVING se usa cuando desea ejecutar una consulta de filtro usando una función agregada. Se combina con la cláusula GROUP BY para ejecutar una consulta más específica. Esta publicación detalla todo sobre la cláusula MySQL HAVING donde la suma es mayor que el umbral. Con los ejemplos proporcionados, ahora comprende cómo trabajar con la cláusula HAVING de MySQL.