Resumen :en este tutorial, aprenderá a usar SQLite COUNT función para obtener el número de elementos en un grupo.
Introducción a SQLite COUNT() función
La función COUNT() es una función agregada que devuelve el número de elementos en un grupo.
Por ejemplo, puede usar el COUNT() función para obtener el número de pistas de tracks tabla, el número de artistas de los artists mesa, etc.
A continuación se ilustra la sintaxis básica de COUNT función:
COUNT([ALL | DISTINCT] expression);Code language: SQL (Structured Query Language) (sql) Argumentos
El COUNT la función se comporta de acuerdo con los argumentos que le pasas y la opción ALL o DISTINCT que especifique.
A continuación se describen los significados de ALL y DISTINCT opciones:
ALL:cuando especifica todo, elCOUNT()función cuenta todos los valores no nulos incluyen duplicados. ElCOUNT()La función usaALLopción predeterminada si la omite.DISTINCT:si usa explícitamenteDISTINCTopción, elCOUNTla función solo cuenta valores únicos y no nulos.
La expresión puede ser una columna o una expresión que involucre columnas a las que la función COUNT() se aplica.
SQLite proporciona otra sintaxis de COUNT() función:
COUNT(*)Code language: SQL (Structured Query Language) (sql)
El COUNT(*) La función devuelve el número de filas en una tabla, incluidas las filas que incluyen NULL y duplicados.
SQLite COUNT() ilustración de función
Primero, crea una tabla llamada t1 que tiene una columna:
CREATE TABLE t1(c INTEGER);Code language: SQL (Structured Query Language) (sql)
En segundo lugar, inserte cinco filas en el t1 tabla:
INSERT INTO t1(c)
VALUES(1),(2),(3),(null),(3);Code language: SQL (Structured Query Language) (sql)
Tercero, consulte los datos del t1 tabla:
SELECT * FROM t1;Code language: SQL (Structured Query Language) (sql)
Cuarto, usa el COUNT(*) función para devolver el número de filas en el t1 tabla:
SELECT COUNT(*) FROM t1;Code language: SQL (Structured Query Language) (sql)
Como puede ver claramente en la salida, el conjunto de resultados incluye NULL y filas duplicadas.
Quinto, use el COUNT(expression) para obtener el número de valores no nulos en la columna c :
SELECT COUNT(c) FROM t1;Code language: SQL (Structured Query Language) (sql)
En este ejemplo, el COUNT(c) devuelve el número de valores no nulos. Cuenta las filas duplicadas como filas separadas.
Sexto, use el COUNT(DISTINCT expression) para obtener el número de valores únicos y no nulos en la columna c :
SELECT COUNT(DISTINCT c) FROM t1;Code language: SQL (Structured Query Language) (sql)
SQLite COUNT(*) ejemplos
Tomaremos la tabla tracks en la base de datos de muestra para demostrar la funcionalidad de COUNT(*) función.
1) SQLite COUNT(*) ejemplo
Para obtener el número de filas de las tracks tabla, utiliza el COUNT(*) funcionan de la siguiente manera:
SELECT count(*)
FROM tracks;Code language: SQL (Structured Query Language) (sql) Pruébalo
count(*)
--------
3503Code language: plaintext (plaintext) 2) SQLite COUNT(*) con WHERE ejemplo de cláusula
La siguiente instrucción utiliza el COUNT(*) función con un WHERE cláusula para encontrar el número de pistas cuyo ID de álbum es 10:
SELECT COUNT(*)
FROM tracks
WHERE albumid = 10;Code language: SQL (Structured Query Language) (sql) Pruébalo
COUNT(*)
--------
14 3) SQLite COUNT(*) con GROUP BY ejemplo de cláusula
Para obtener todos los álbumes y la cantidad de pistas en cada álbum, combina el COUNT(*) función con el GROUP BY cláusula:
SELECT
albumid,
COUNT(*)
FROM
tracks
GROUP BY
albumid;Code language: SQL (Structured Query Language) (sql) Pruébalo
AlbumId COUNT(*)
------- --------
1 10
2 1
3 3
4 8
5 15
6 13
7 12
8 14
9 8
10 14
... En este ejemplo:
- Primero, el
GROUP BYcláusula agrupar pistas por ID de álbum. - Entonces, el
COUNT(*)La función devuelve el número de pistas para cada álbum o grupo de pistas.
4) SQLite COUNT(*) con HAVING ejemplo de cláusula
Lo siguiente usa el COUNT(*) en el HAVING cláusula para buscar álbumes que tengan más de 25 pistas:
SELECT
albumid,
COUNT(*)
FROM
tracks
GROUP BY
albumid
HAVING COUNT(*) > 25Code language: SQL (Structured Query Language) (sql) Pruébalo
AlbumId COUNT(*)
------- --------
23 34
73 30
141 57
229 26 5) SQLite COUNT(*) con INNER JOIN ejemplo de cláusula
Para que el resultado de la consulta anterior sea más útil, puede incluir la columna del nombre del álbum. Para hacer esto, agrega INNER JOIN y ORDER BY cláusulas a la consulta como la siguiente consulta:
SELECT
tracks.albumid,
title,
COUNT(*)
FROM
tracks
INNER JOIN albums ON
albums.albumid = tracks.albumid
GROUP BY
tracks.albumid
HAVING
COUNT(*) > 25
ORDER BY
COUNT(*) DESC;Code language: SQL (Structured Query Language) (sql) Pruébalo
AlbumId Title COUNT(*)
------- -------------- --------
141 Greatest Hits 57
23 Minha Historia 34
73 Unplugged 30
229 Lost, Season 3 26 SQLite COUNT(DISTINCT expression) ejemplos
Echemos un vistazo a los employees tabla de la base de datos de ejemplo.

SELECT
employeeid,
lastname,
firstname,
title
FROM
employees;Code language: SQL (Structured Query Language) (sql) Pruébalo
EmployeeId LastName FirstName Title
---------- -------- --------- -------------------
1 Adams Andrew General Manager
2 Edwards Nancy Sales Manager
3 Peacock Jane Sales Support Agent
4 Park Margaret Sales Support Agent
5 Johnson Steve Sales Support Agent
6 Mitchell Michael IT Manager
7 King Robert IT Staff
8 Callahan Laura IT Staff
Para obtener el número de títulos de puestos, pasa el title columna al COUNT() funcionan de la siguiente manera:
SELECT COUNT(title)
FROM employees;Code language: SQL (Structured Query Language) (sql) Pruébalo
COUNT(title)
------------
8
Sin embargo, para obtener la cantidad de títulos únicos, debe agregar DISTINCT opción al COUNT() función como se muestra en la siguiente instrucción:
SELECT COUNT(DISTINCT title)
FROM employees;Code language: SQL (Structured Query Language) (sql) Pruébalo
COUNT(DISTINCT title)
---------------------
5
En este tutorial, le mostramos cómo usar SQLite COUNT() función para contar el número de elementos en un grupo.