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: función de conteo
Este tutorial de SQLite explica cómo usar SQLite función de conteo Con sintaxis y ejemplos.
describir
La función de conteo de SQLite devuelve el conteo de una expresión.
sintaxis
La sintaxis de la función de conteo en SQLite es:
SELECT count(aggregate_expression) FROM tables [WHERE conditions];
O cuando se agrupan los resultados por una o más columnas, la sintaxis de la función de conteo es:
SELECT expression1, expression2, ... expression_n, count(aggregate_expression) FROM tables [WHERE conditions] GROUP BY expression1, expression2, ... expression_n;
parámetro o parámetro
expresión1, expresión2, … expresión_n Expresiones que no están encapsuladas en la función de recuento y deben incluirse en la cláusula GROUP BY al final de la instrucción SQL. added_expression Esta es la columna o expresión cuyos valores no nulos se calcularán. 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. Estas son las condiciones que se deben cumplir para seleccionar registros.
aplicar para
La función de conteo está disponible en las siguientes versiones de SQLite:
- SQLite 3.8.6, SQLite 3.8.x, SQLite 3.7.x, SQLite 3.6.x
Incluir solo valores NOT NULL
No todos se dan cuenta de esto, pero la función de conteo solo incluirá registros en el conteo donde el valor de la expresión en el conteo (expresión) NO ES NULO. Cuando la expresión contiene un valor NULL, no se incluye en el cálculo de conteo.
Veamos un ejemplo de la función de conteo que demuestra cómo la función de conteo evalúa los valores NULL.
Por ejemplo, si tienes la siguiente tabla llamada proveedores:
ID de empleado | apellido | nombre | sitio favorito |
---|---|---|---|
1 | Herrero | simple | TechOnTheNet.com |
2 | anderson | dave | CompruebaTusMatemáticas.com |
3 | Johnson | Sara | <空> |
Si ejecuta la siguiente declaración SELECT usando la función de conteo:
SELECT count(employee_id) FROM employees; Result: 3
Este ejemplo de recuento devolvería 3 porque ninguno de los valores de employee_id en el conjunto de resultados de la consulta era NULL.
Sin embargo, si ejecuta la siguiente declaración SELECT que usa la función de conteo:
SELECT count(favorite_website) FROM employees; Result: 2
Este ejemplo de conteo solo devolverá 2 porque solo hay dos valores en el conjunto de resultados de la consulta que no son NULL para sitio_web_favorito. Sería el primer registro donde el sitio favorito es “TechOnTheNet.com” y el segundo registro donde el sitio favorito es “CheckYourMath.com”. El tercer registro de la tabla no se incluirá en el cálculo de la función de conteo porque el valor de sitio_web_favorito es NULL.
Ejemplo: usar una sola expresión
Veamos algunos ejemplos de funciones de conteo de SQLite y exploremos cómo usar la función de conteo en SQLite.
Por ejemplo, es posible que desee saber cuántos empleados ganan más de $40 000 al año.
SELECT count(*) AS "Number of employees" FROM employees WHERE salary > 40000;
En este ejemplo de función de conteo, le damos un alias al conteo
Expresado como “número de empleados”.
Ejemplo: uso de DISTINCT
SELECT count(DISTINCT department) AS "Unique departments" FROM employees WHERE salary > 35000;
Puede usar la cláusula DISTINCT en la función de conteo. Por ejemplo, la siguiente instrucción SQL devuelve la cantidad de departamentos únicos donde al menos un empleado gana más de $35,000 al año.
Del mismo modo, el campo de recuento (departamento DISTINTO) tiene un alias como “Departamento único”.
Ejemplo: uso de GROUP BY
En algunos casos, debe usar la cláusula GROUP BY con la función de conteo.
SELECT department, count(*) AS "Number of employees" FROM employees WHERE favorite_website="TechOnTheNet.com" GROUP BY department;
Por ejemplo, también puede usar la función de conteo para obtener el nombre del departamento y la cantidad de empleados (en el departamento correspondiente) que tienen “TechOnTheNet.com” como su sitio favorito.
Debido a que enumeró una columna en la declaración SELECT que no estaba encapsulada en la función de conteo, debe usar la cláusula GROUP BY. Por lo tanto, el campo de departamento debe aparecer en la sección GROUP BY.