Resumo :neste tutorial, você aprenderá a usar SQLite
COUNT função para obter o número de itens em um grupo. Introdução ao SQLite COUNT() função
A função
COUNT() é uma função agregada que retorna o número de itens em um grupo. Por exemplo, você pode usar o
COUNT() função para obter o número de faixas das tracks tabela, o número de artistas dos artists mesa, e assim por diante. O seguinte ilustra a sintaxe básica do
COUNT função:COUNT([ALL | DISTINCT] expression);Code language: SQL (Structured Query Language) (sql) Argumentos
O
COUNT função se comporta de acordo com os argumentos que você passa para ela e a opção ALL ou DISTINCT que você especificar. O seguinte descreve os significados de
ALL e DISTINCT opções:ALL:quando você especifica tudo, oCOUNT()função conta todos os valores não nulos incluem duplicatas. OCOUNT()função usa oALLopção por padrão se você ignorá-la.DISTINCT:se você usar explicitamente oDISTINCTopção, oCOUNTfunção conta apenas valores únicos e não nulos.
A expressão pode ser uma coluna ou uma expressão que envolve colunas para as quais a função
COUNT() é aplicado. SQLite fornece outra sintaxe do
COUNT() função:COUNT(*)Code language: SQL (Structured Query Language) (sql) O
COUNT(*) A função retorna o número de linhas em uma tabela, incluindo as linhas, incluindo NULL e duplicatas. SQLite COUNT() ilustração de função
Primeiro, crie uma tabela chamada
t1 que tem uma coluna:CREATE TABLE t1(c INTEGER);Code language: SQL (Structured Query Language) (sql) Segundo, insira cinco linhas no
t1 tabela:INSERT INTO t1(c)
VALUES(1),(2),(3),(null),(3);Code language: SQL (Structured Query Language) (sql) Terceiro, consulte os dados do
t1 tabela:SELECT * FROM t1;Code language: SQL (Structured Query Language) (sql)
Quarto, use o
COUNT(*) função para retornar o número de linhas no t1 tabela:SELECT COUNT(*) FROM t1;Code language: SQL (Structured Query Language) (sql)
Como você pode ver claramente na saída, o conjunto de resultados inclui linhas NULL e duplicadas.
Quinto, use o
COUNT(expression) para obter o número de valores não nulos na coluna c :SELECT COUNT(c) FROM t1;Code language: SQL (Structured Query Language) (sql)
Neste exemplo, o
COUNT(c) retorna o número de valores não nulos. Ele conta as linhas duplicadas como linhas separadas. Sexto, use o
COUNT(DISTINCT expression) para obter o número de valores únicos e não nulos na coluna c :SELECT COUNT(DISTINCT c) FROM t1;Code language: SQL (Structured Query Language) (sql)
SQLite COUNT(*) exemplos
Vamos pegar a tabela
tracks no banco de dados de amostra para demonstrar a funcionalidade do COUNT(*) função.
1) SQLite COUNT(*) exemplo
Para obter o número de linhas das
tracks tabela, você usa o COUNT(*) funcionar da seguinte forma:SELECT count(*)
FROM tracks;Code language: SQL (Structured Query Language) (sql) Tente
count(*)
--------
3503Code language: plaintext (plaintext) 2) SQLite COUNT(*) com WHERE exemplo de cláusula
A instrução a seguir usa o
COUNT(*) função com um WHERE cláusula para encontrar o número de faixas cujo ID do álbum é 10:SELECT COUNT(*)
FROM tracks
WHERE albumid = 10;Code language: SQL (Structured Query Language) (sql) Tente
COUNT(*)
--------
14 3) SQLite COUNT(*) com GROUP BY exemplo de cláusula
Para obter todos os álbuns e o número de faixas em cada álbum, você combina o
COUNT(*) função com o GROUP BY cláusula:SELECT
albumid,
COUNT(*)
FROM
tracks
GROUP BY
albumid;Code language: SQL (Structured Query Language) (sql) Tente
AlbumId COUNT(*)
------- --------
1 10
2 1
3 3
4 8
5 15
6 13
7 12
8 14
9 8
10 14
... Neste exemplo:
- Primeiro, o
GROUP BYcláusula agrupar faixas por ID do álbum. - Então, o
COUNT(*)função retorna o número de faixas para cada álbum ou grupo de faixas.
4) SQLite COUNT(*) com HAVING exemplo de cláusula
O seguinte usa o
COUNT(*) no HAVING cláusula para encontrar álbuns com mais de 25 faixas:SELECT
albumid,
COUNT(*)
FROM
tracks
GROUP BY
albumid
HAVING COUNT(*) > 25Code language: SQL (Structured Query Language) (sql) Tente
AlbumId COUNT(*)
------- --------
23 34
73 30
141 57
229 26 5) SQLite COUNT(*) com INNER JOIN exemplo de cláusula
Para tornar a saída da consulta acima mais útil, você pode incluir a coluna de nome do álbum. Para fazer isso, você adiciona
INNER JOIN e ORDER BY cláusulas para a consulta como a seguinte 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) Tente
AlbumId Title COUNT(*)
------- -------------- --------
141 Greatest Hits 57
23 Minha Historia 34
73 Unplugged 30
229 Lost, Season 3 26 SQLite COUNT(DISTINCT expression) exemplos
Vamos dar uma olhada nos
employees tabela do banco de dados de exemplo. 
SELECT
employeeid,
lastname,
firstname,
title
FROM
employees;Code language: SQL (Structured Query Language) (sql) Tente
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 obter o número de títulos de posição, você passa o
title coluna para o COUNT() funcionar da seguinte forma:SELECT COUNT(title)
FROM employees;Code language: SQL (Structured Query Language) (sql) Tente
COUNT(title)
------------
8 No entanto, para obter o número de títulos exclusivos, você precisa adicionar o
DISTINCT opção para COUNT() função como mostrado na seguinte declaração:SELECT COUNT(DISTINCT title)
FROM employees;Code language: SQL (Structured Query Language) (sql) Tente
COUNT(DISTINCT title)
---------------------
5 Neste tutorial, mostramos como usar SQLite
COUNT() função para contar o número de itens em um grupo.