Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
MySQL: tiene cláusula
Este tutorial de MySQL explica cómo usar MySQL Cláusula HAVING Con sintaxis y ejemplos.
describir
La cláusula MySQL HAVING se usa junto con la cláusula GROUP BY para limitar el grupo de filas devueltas a solo aquellas para las que la condición es VERDADERA.
sintaxis
La sintaxis de la cláusula HAVING en MySQL es:
SELECT expression1, expression2, ... expression_n, aggregate_function (expression) FROM tables [WHERE conditions] GROUP BY expression1, expression2, ... expression_n HAVING condition;
parámetro o parámetro
Función_agregada Una función, como la función SUM, COUNT, MIN, MAX o AVG. expresión1, expresión2, … expresión_n Expresiones que no están encapsuladas en funciones agregadas y deben incluirse en la cláusula GROUP BY. La condición WHERE es opcional. Estos son los criterios para la selección de registros. Condición HAVING Esta es una condición adicional que se aplica solo a los resultados agregados para limitar los grupos de filas devueltos. Solo los grupos para los que la condición se evalúa como VERDADERO se incluyen en el conjunto de resultados.
Ejemplo: uso de la función SUMA
Veamos un ejemplo de una cláusula HAVING de MySQL usando la función SUM.
También puede usar la función SUMA para devolver el nombre del producto y la cantidad total (para ese producto). La cláusula MySQL HAVING filtrará los resultados para que solo se devuelvan los productos con una cantidad total superior a 10.
SELECT product, SUM(quantity) AS "Total quantity" FROM order_details GROUP BY product HAVING SUM(quantity) > 10;
Ejemplo: uso de la función CONTAR
Veamos cómo usar la cláusula HAVING con la función COUNT en MySQL.
Puede usar la función COUNT para devolver el nombre del producto y la cantidad de pedidos en la categoría “producción” para ese producto. La cláusula MySQL HAVING filtrará los resultados para que solo se devuelvan los productos con más de 20 pedidos.
SELECT product, COUNT(*) AS "Number of orders" FROM order_details WHERE category = 'produce' GROUP BY product HAVING COUNT(*) > 20;
Ejemplo: uso de la función MIN
A continuación, veamos cómo usar la cláusula HAVING con la función MIN en MySQL.
También puede usar la función MIN para devolver el nombre de cada departamento y el salario mínimo del departamento. La cláusula MySQL HAVING solo devolverá departamentos con un salario mínimo inferior a $50,000.
SELECT department, MIN(salary) AS "Lowest salary" FROM employees GROUP BY department HAVING MIN(salary) < 50000;
Ejemplo: uso de la función MAX
Finalmente, veamos cómo usar la cláusula HAVING con la función MAX en MySQL.
Por ejemplo, también puede utilizar la función MAX para devolver el nombre de cada departamento y el salario máximo del departamento. La cláusula MySQL HAVING solo devolverá departamentos con un salario máximo superior a $25,000.
SELECT department, MAX(salary) AS "Highest salary" FROM employees GROUP BY department HAVING MAX(salary) > 25000;