Riepilogo :in questo tutorial imparerai come usare SQLite COUNT funzione per ottenere il numero di elementi in un gruppo.
Introduzione a SQLite COUNT() funzione
La funzione COUNT() è una funzione aggregata che restituisce il numero di elementi in un gruppo.
Ad esempio, puoi utilizzare COUNT() funzione per ottenere il numero di tracce dalle tracks tabella, il numero di artisti da artists tabella e così via.
Di seguito viene illustrata la sintassi di base di COUNT funzione:
COUNT([ALL | DISTINCT] expression);Code language: SQL (Structured Query Language) (sql) Argomenti
Il COUNT La funzione si comporta in base agli argomenti che ci vengono passati e all'opzione ALL o DISTINCT che specifichi.
Quanto segue descrive i significati di ALL e DISTINCT opzioni:
ALL:quando specifichi tutto, ilCOUNT()la funzione conta tutti i valori non nulli includono i duplicati. IlCOUNT()la funzione utilizza ilALLopzione per impostazione predefinita se la salti.DISTINCT:se utilizzi esplicitamente ilDISTINCTopzione, ilCOUNTla funzione conta solo valori univoci e non nulli.
L'espressione può essere una colonna o un'espressione che coinvolge colonne a cui è associata la funzione COUNT() viene applicato.
SQLite fornisce un'altra sintassi di COUNT() funzione:
COUNT(*)Code language: SQL (Structured Query Language) (sql)
Il COUNT(*) La funzione restituisce il numero di righe in una tabella, incluse le righe che includono NULL e duplicati.
SQLite COUNT() illustrazione della funzione
Per prima cosa, crea una tabella chiamata t1 che ha una colonna:
CREATE TABLE t1(c INTEGER);Code language: SQL (Structured Query Language) (sql)
In secondo luogo, inserisci cinque righe nel t1 tabella:
INSERT INTO t1(c)
VALUES(1),(2),(3),(null),(3);Code language: SQL (Structured Query Language) (sql)
Terzo, interroga i dati da t1 tabella:
SELECT * FROM t1;Code language: SQL (Structured Query Language) (sql)
In quarto luogo, usa il COUNT(*) funzione per restituire il numero di righe nel t1 tabella:
SELECT COUNT(*) FROM t1;Code language: SQL (Structured Query Language) (sql)
Come puoi vedere chiaramente dall'output, il set di risultati include NULL e righe duplicate.
In quinto luogo, usa COUNT(expression) per ottenere il numero di valori non nulli nella colonna c :
SELECT COUNT(c) FROM t1;Code language: SQL (Structured Query Language) (sql)
In questo esempio, il COUNT(c) restituisce il numero di valori non nulli. Conta le righe duplicate come righe separate.
Sesto, usa il COUNT(DISTINCT expression) per ottenere il numero di valori univoci e non nulli nella colonna c :
SELECT COUNT(DISTINCT c) FROM t1;Code language: SQL (Structured Query Language) (sql)
SQLite COUNT(*) esempi
Prenderemo il tavolo tracks nel database di esempio per dimostrare la funzionalità di COUNT(*) funzione.
1) SQLite COUNT(*) esempio
Per ottenere il numero di righe dalle tracks tabella, utilizzi il COUNT(*) funzionano come segue:
SELECT count(*)
FROM tracks;Code language: SQL (Structured Query Language) (sql) Provalo
count(*)
--------
3503Code language: plaintext (plaintext) 2) SQLite COUNT(*) con WHERE esempio di clausola
La seguente istruzione utilizza il COUNT(*) funzione con un WHERE clausola per trovare il numero di tracce il cui ID album è 10:
SELECT COUNT(*)
FROM tracks
WHERE albumid = 10;Code language: SQL (Structured Query Language) (sql) Provalo
COUNT(*)
--------
14 3) SQLite COUNT(*) con GROUP BY esempio di clausola
Per ottenere tutti gli album e il numero di brani in ogni album, unisci il COUNT(*) funzione con il GROUP BY clausola:
SELECT
albumid,
COUNT(*)
FROM
tracks
GROUP BY
albumid;Code language: SQL (Structured Query Language) (sql) Provalo
AlbumId COUNT(*)
------- --------
1 10
2 1
3 3
4 8
5 15
6 13
7 12
8 14
9 8
10 14
... In questo esempio:
- In primo luogo, il
GROUP BYclausola raggruppa le tracce per ID album. - Quindi, il
COUNT(*)la funzione restituisce il numero di brani per ciascun album o gruppo di brani.
4) SQLite COUNT(*) con HAVING esempio di clausola
Quanto segue usa il COUNT(*) nel HAVING clausola per trovare album con più di 25 tracce:
SELECT
albumid,
COUNT(*)
FROM
tracks
GROUP BY
albumid
HAVING COUNT(*) > 25Code language: SQL (Structured Query Language) (sql) Provalo
AlbumId COUNT(*)
------- --------
23 34
73 30
141 57
229 26 5) SQLite COUNT(*) con INNER JOIN esempio di clausola
Per rendere più utile l'output della query precedente, puoi includere la colonna del nome dell'album. Per fare ciò, aggiungi INNER JOIN e ORDER BY clausole alla query come la seguente query:
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) Provalo
AlbumId Title COUNT(*)
------- -------------- --------
141 Greatest Hits 57
23 Minha Historia 34
73 Unplugged 30
229 Lost, Season 3 26 SQLite COUNT(DISTINCT expression) esempi
Diamo un'occhiata ai employees tabella dal database di esempio.

SELECT
employeeid,
lastname,
firstname,
title
FROM
employees;Code language: SQL (Structured Query Language) (sql) Provalo
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
Per ottenere il numero di titoli di posizione, devi passare il title colonna al COUNT() funzionano come segue:
SELECT COUNT(title)
FROM employees;Code language: SQL (Structured Query Language) (sql) Provalo
COUNT(title)
------------
8
Tuttavia, per ottenere il numero di titoli univoci, devi aggiungere il DISTINCT opzione per COUNT() funzione come mostrato nella seguente istruzione:
SELECT COUNT(DISTINCT title)
FROM employees;Code language: SQL (Structured Query Language) (sql) Provalo
COUNT(DISTINCT title)
---------------------
5
In questo tutorial, ti abbiamo mostrato come utilizzare SQLite COUNT() funzione per contare il numero di elementi in un gruppo.