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.
SQLite: tiene cláusula
Este tutorial de SQLite explica cómo usar SQLite Cláusula HAVING Con sintaxis y ejemplos.
describir
La cláusula HAVING de SQLite se usa junto con la cláusula GROUP BY para limitar el grupo de filas devuelto a solo filas para las que la condición es VERDADERA.
sintaxis
La sintaxis de la cláusula HAVING en SQLite es:
SELECT expression1, expression2, ... expression_n, aggregate_function (aggregate_expression) FROM tables [WHERE conditions] GROUP BY expression1, expression2, ... expression_n HAVING condition;
parámetro o parámetro
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. Función_agregada Una función, como una función de suma, conteo, mínimo, máximo o promedio. Expresión agregada Esta es la columna o expresión para la que se usará la función agregada. tabla La tabla de la que desea recuperar registros. Debe aparecer al menos una tabla en la cláusula FROM. 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 de suma
Veamos un ejemplo que muestra cómo usar la cláusula HAVING con la función sum en SQLite.
Puede usar la función de suma para devolver el departamento y el salario total (para ese departamento). La cláusula SQLite HAVING filtrará los resultados para que solo se devuelvan los departamentos con un salario bruto superior a $10,000.
SELECT department, sum(salary) AS "Total salaries" FROM employees GROUP BY department HAVING sum(salary) > 10000;
Ejemplo: uso de la función de conteo
Veamos cómo usar la cláusula HAVING con la función de conteo en SQLite.
Puede utilizar la función de recuento para devolver el departamento con estado “CA” y el número de empleados (para ese departamento). La cláusula SQLite HAVING filtrará los resultados para devolver solo los departamentos con más de 20 empleados en estado “CA”.
SELECT department, count(*) AS "Number of employees" FROM employees WHERE state="CA" GROUP BY department HAVING COUNT(*) > 20;
Ejemplo: uso de la función min
Veamos a continuación cómo usar la cláusula HAVING con la función min en SQLite.
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 SQLite HAVING solo devolverá departamentos con un salario mínimo inferior a $20,000.
SELECT department, min(salary) AS "Lowest salary" FROM employees GROUP BY department HAVING MIN(salary) < 20000;
Ejemplo: uso de la función max
Finalmente, veamos cómo usar la cláusula HAVING con la función max en SQLite.
Por ejemplo, también podría usar la función max para obtener el nombre de cada departamento y el salario más alto para el departamento cuyo sitio web favorito de los empleados es “TechOnTheNet.com”. La cláusula SQLite HAVING solo devolverá departamentos con un salario máximo mayor o igual a $30,000.
SELECT department, max(salary) AS "Highest salary" FROM employees WHERE favorite_website = "TechOnTheNet.com" GROUP BY department HAVING MAX(salary) >= 30000;