Zusammenfassung :In diesem Tutorial lernen Sie, wie Sie SQLite COUNT
verwenden Funktion, um die Anzahl der Elemente in einer Gruppe abzurufen.
Einführung in SQLite COUNT()
Funktion
Die Funktion COUNT()
ist eine Aggregatfunktion, die die Anzahl der Elemente in einer Gruppe zurückgibt.
Sie können zum Beispiel COUNT()
verwenden Funktion, um die Anzahl der Tracks aus den tracks
zu erhalten Tabelle, die Anzahl der Künstler aus der artists
Tabelle usw.
Im Folgenden wird die grundlegende Syntax von COUNT
veranschaulicht Funktion:
COUNT([ALL | DISTINCT] expression);
Code language: SQL (Structured Query Language) (sql)
Argumente
Der COUNT
Die Funktion verhält sich gemäß den übergebenen Argumenten und der Option ALL
oder DISTINCT
die Sie angeben.
Im Folgenden wird die Bedeutung von ALL
beschrieben und DISTINCT
Optionen:
ALL
:wenn Sie alle angeben, derCOUNT()
Die Funktion zählt, dass alle Nicht-Null-Werte Duplikate enthalten. DerCOUNT()
Funktion verwendet denALL
Option standardmäßig, wenn Sie sie überspringen.DISTINCT
:wenn Sie ausdrücklich denDISTINCT
verwenden Option, dieCOUNT
Funktion zählt nur eindeutige und Nicht-Null-Werte.
Der Ausdruck kann eine Spalte oder ein Ausdruck sein, der Spalten beinhaltet, auf die die Funktion COUNT()
angewendet wird angewendet wird.
SQLite bietet eine andere Syntax von COUNT()
Funktion:
COUNT(*)
Code language: SQL (Structured Query Language) (sql)
Der COUNT(*)
Die Funktion gibt die Anzahl der Zeilen in einer Tabelle zurück, einschließlich der Zeilen, die NULL und Duplikate enthalten.
SQLite COUNT()
Funktionsdarstellung
Erstellen Sie zuerst eine Tabelle mit dem Namen t1
das hat eine Spalte:
CREATE TABLE t1(c INTEGER);
Code language: SQL (Structured Query Language) (sql)
Zweitens fügen Sie fünf Zeilen in t1
ein Tabelle:
INSERT INTO t1(c)
VALUES(1),(2),(3),(null),(3);
Code language: SQL (Structured Query Language) (sql)
Fragen Sie drittens Daten von t1
ab Tabelle:
SELECT * FROM t1;
Code language: SQL (Structured Query Language) (sql)
Verwenden Sie viertens den COUNT(*)
Funktion, um die Anzahl der Zeilen in t1
zurückzugeben Tabelle:
SELECT COUNT(*) FROM t1;
Code language: SQL (Structured Query Language) (sql)
Wie Sie der Ausgabe deutlich entnehmen können, enthält die Ergebnismenge NULL und doppelte Zeilen.
Verwenden Sie fünftens den COUNT(expression)
um die Anzahl der Nicht-Null-Werte in der Spalte c
zu erhalten :
SELECT COUNT(c) FROM t1;
Code language: SQL (Structured Query Language) (sql)
In diesem Beispiel der COUNT(c)
gibt die Anzahl der Nicht-Null-Werte zurück. Es zählt die doppelten Zeilen als separate Zeilen.
Verwenden Sie sechstens den COUNT(DISTINCT expression)
um die Anzahl der eindeutigen und Nicht-Null-Werte in Spalte c
zu erhalten :
SELECT COUNT(DISTINCT c) FROM t1;
Code language: SQL (Structured Query Language) (sql)
SQLite COUNT(*)
Beispiele
Wir nehmen die Tabelle tracks
in der Beispieldatenbank, um die Funktionalität von COUNT(*)
zu demonstrieren Funktion.
1) SQLite COUNT(*)
Beispiel
Um die Anzahl der Zeilen aus den tracks
zu erhalten Tabelle verwenden Sie den COUNT(*)
funktionieren wie folgt:
SELECT count(*)
FROM tracks;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
count(*)
--------
3503
Code language: plaintext (plaintext)
2) SQLite COUNT(*)
mit WHERE
Klauselbeispiel
Die folgende Anweisung verwendet den COUNT(*)
Funktion mit einem WHERE
-Klausel, um die Anzahl der Titel zu finden, deren Album-ID 10 ist:
SELECT COUNT(*)
FROM tracks
WHERE albumid = 10;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
COUNT(*)
--------
14
3) SQLite COUNT(*)
mit GROUP BY
Klauselbeispiel
Um alle Alben und die Anzahl der Titel in jedem Album zu erhalten, kombinieren Sie den COUNT(*)
Funktion mit dem GROUP BY
Klausel:
SELECT
albumid,
COUNT(*)
FROM
tracks
GROUP BY
albumid;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
AlbumId COUNT(*)
------- --------
1 10
2 1
3 3
4 8
5 15
6 13
7 12
8 14
9 8
10 14
...
In diesem Beispiel:
- Zunächst das
GROUP BY
Gruppieren Sie Tracks nach Album-ID. - Dann der
COUNT(*)
Funktion gibt die Anzahl der Titel für jedes Album oder jede Gruppe von Titeln zurück.
4) SQLite COUNT(*)
mit HAVING
Klauselbeispiel
Im Folgenden wird der COUNT(*)
verwendet im HAVING
Klausel, um Alben mit mehr als 25 Titeln zu finden:
SELECT
albumid,
COUNT(*)
FROM
tracks
GROUP BY
albumid
HAVING COUNT(*) > 25
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
AlbumId COUNT(*)
------- --------
23 34
73 30
141 57
229 26
5) SQLite COUNT(*)
mit INNER JOIN
Klauselbeispiel
Um die Ausgabe der obigen Abfrage nützlicher zu machen, können Sie die Namensspalte des Albums einbeziehen. Dazu fügen Sie INNER JOIN
hinzu und ORDER BY
Klauseln für die Abfrage wie die folgende Abfrage:
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)
Probieren Sie es aus
AlbumId Title COUNT(*)
------- -------------- --------
141 Greatest Hits 57
23 Minha Historia 34
73 Unplugged 30
229 Lost, Season 3 26
SQLite COUNT(DISTINCT expression)
Beispiele
Werfen wir einen Blick auf die employees
Tabelle aus der Beispieldatenbank.
SELECT
employeeid,
lastname,
firstname,
title
FROM
employees;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
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
Um die Anzahl der Positionstitel zu erhalten, übergeben Sie den title
Spalte zu COUNT()
funktionieren wie folgt:
SELECT COUNT(title)
FROM employees;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
COUNT(title)
------------
8
Um jedoch die Anzahl der eindeutigen Titel zu erhalten, müssen Sie den DISTINCT
hinzufügen Option zu COUNT()
Funktion wie in der folgenden Anweisung gezeigt:
SELECT COUNT(DISTINCT title)
FROM employees;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
COUNT(DISTINCT title)
---------------------
5
In diesem Tutorial haben wir Ihnen gezeigt, wie Sie SQLite COUNT()
verwenden Funktion, um die Anzahl der Elemente in einer Gruppe zu zählen.