Samenvatting :in deze tutorial leer je hoe je SQLite COUNT
. gebruikt functie om het aantal items in een groep te krijgen.
Inleiding tot SQLite COUNT()
functie
De functie COUNT()
is een aggregatiefunctie die het aantal items in een groep retourneert.
U kunt bijvoorbeeld de COUNT()
. gebruiken functie om het aantal tracks uit de tracks
. te halen tabel, het aantal artiesten van de artists
tafel, enzovoort.
Het volgende illustreert de basissyntaxis van de COUNT
functie:
COUNT([ALL | DISTINCT] expression);
Code language: SQL (Structured Query Language) (sql)
Argumenten
De COUNT
functie gedraagt zich volgens de argumenten die u erin doorgeeft en de optie ALL
of DISTINCT
die u opgeeft.
Het volgende beschrijft de betekenis van ALL
en DISTINCT
opties:
ALL
:wanneer u alles specificeert, deCOUNT()
functie telt alle niet-null-waarden inclusief duplicaten. DeCOUNT()
functie gebruikt deALL
optie standaard als u deze overslaat.DISTINCT
:als je expliciet deDISTINCT
. gebruikt optie, deCOUNT
functie telt alleen unieke en niet-null-waarden.
De uitdrukking kan een kolom zijn of een uitdrukking die kolommen omvat waarvoor de functie COUNT()
wordt toegepast.
SQLite biedt een andere syntaxis van de COUNT()
functie:
COUNT(*)
Code language: SQL (Structured Query Language) (sql)
De COUNT(*)
functie retourneert het aantal rijen in een tabel, inclusief de rijen inclusief NULL en duplicaten.
SQLite COUNT()
functie illustratie
Maak eerst een tabel met de naam t1
die één kolom heeft:
CREATE TABLE t1(c INTEGER);
Code language: SQL (Structured Query Language) (sql)
Ten tweede, voeg vijf rijen in de t1
. in tafel:
INSERT INTO t1(c)
VALUES(1),(2),(3),(null),(3);
Code language: SQL (Structured Query Language) (sql)
Ten derde, vraag gegevens op van de t1
tafel:
SELECT * FROM t1;
Code language: SQL (Structured Query Language) (sql)
Ten vierde, gebruik de COUNT(*)
functie om het aantal rijen in de t1
. te retourneren tafel:
SELECT COUNT(*) FROM t1;
Code language: SQL (Structured Query Language) (sql)
Zoals je duidelijk kunt zien aan de uitvoer, bevat de resultatenset NULL en dubbele rijen.
Ten vijfde, gebruik de COUNT(expression)
om het aantal niet-null-waarden in de kolom c
. te krijgen :
SELECT COUNT(c) FROM t1;
Code language: SQL (Structured Query Language) (sql)
In dit voorbeeld is de COUNT(c)
geeft het aantal niet-null-waarden terug. Het telt de dubbele rijen als afzonderlijke rijen.
Ten zesde, gebruik de COUNT(DISTINCT expression)
om het aantal unieke en niet-null-waarden in kolom c
. te krijgen :
SELECT COUNT(DISTINCT c) FROM t1;
Code language: SQL (Structured Query Language) (sql)
SQLite COUNT(*)
voorbeelden
We nemen de tabel tracks
in de voorbeelddatabase om de functionaliteit van de COUNT(*)
. te demonstreren functie.
1) SQLite COUNT(*)
voorbeeld
Om het aantal rijen uit de tracks
te halen tabel, gebruik je de COUNT(*)
functioneren als volgt:
SELECT count(*)
FROM tracks;
Code language: SQL (Structured Query Language) (sql)
Probeer het
count(*)
--------
3503
Code language: plaintext (plaintext)
2) SQLite COUNT(*)
met WHERE
clausule voorbeeld
De volgende instructie gebruikt de COUNT(*)
functie met een WHERE
clausule om het aantal nummers te vinden waarvan de album-ID 10 is:
SELECT COUNT(*)
FROM tracks
WHERE albumid = 10;
Code language: SQL (Structured Query Language) (sql)
Probeer het
COUNT(*)
--------
14
3) SQLite COUNT(*)
met GROUP BY
clausule voorbeeld
Om alle albums en het aantal nummers in elk album te krijgen, combineer je de COUNT(*)
functie met de GROUP BY
clausule:
SELECT
albumid,
COUNT(*)
FROM
tracks
GROUP BY
albumid;
Code language: SQL (Structured Query Language) (sql)
Probeer het
AlbumId COUNT(*)
------- --------
1 10
2 1
3 3
4 8
5 15
6 13
7 12
8 14
9 8
10 14
...
In dit voorbeeld:
- Eerst, de
GROUP BY
clausule groepeer tracks op album-ID. - Vervolgens, de
COUNT(*)
functie retourneert het aantal tracks voor elk album of groep tracks.
4) SQLite COUNT(*)
met HAVING
clausule voorbeeld
Het volgende gebruikt de COUNT(*)
in de HAVING
clausule om albums te vinden met meer dan 25 nummers:
SELECT
albumid,
COUNT(*)
FROM
tracks
GROUP BY
albumid
HAVING COUNT(*) > 25
Code language: SQL (Structured Query Language) (sql)
Probeer het
AlbumId COUNT(*)
------- --------
23 34
73 30
141 57
229 26
5) SQLite COUNT(*)
met INNER JOIN
clausule voorbeeld
Om de uitvoer van de bovenstaande zoekopdracht nuttiger te maken, kunt u de naamkolom van het album opnemen. Om dit te doen, voeg je INNER JOIN
. toe en ORDER BY
clausules voor de query, zoals de volgende 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)
Probeer het
AlbumId Title COUNT(*)
------- -------------- --------
141 Greatest Hits 57
23 Minha Historia 34
73 Unplugged 30
229 Lost, Season 3 26
SQLite COUNT(DISTINCT expression)
voorbeelden
Laten we eens kijken naar de employees
tabel uit de voorbeelddatabase.
SELECT
employeeid,
lastname,
firstname,
title
FROM
employees;
Code language: SQL (Structured Query Language) (sql)
Probeer het
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
Om het aantal positietitels te krijgen, geef je de title
. door kolom naar de COUNT()
functioneren als volgt:
SELECT COUNT(title)
FROM employees;
Code language: SQL (Structured Query Language) (sql)
Probeer het
COUNT(title)
------------
8
Om het aantal unieke titels te krijgen, moet u echter de DISTINCT
. toevoegen optie naar de COUNT()
functioneren zoals weergegeven in de volgende verklaring:
SELECT COUNT(DISTINCT title)
FROM employees;
Code language: SQL (Structured Query Language) (sql)
Probeer het
COUNT(DISTINCT title)
---------------------
5
In deze zelfstudie hebben we u laten zien hoe u SQLite COUNT()
. gebruikt functie om het aantal items in een groep te tellen.