SQLite
 sql >> Datenbank >  >> RDS >> SQLite

SQLite-ANZAHL

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, der COUNT() Die Funktion zählt, dass alle Nicht-Null-Werte Duplikate enthalten. Der COUNT() Funktion verwendet den ALL Option standardmäßig, wenn Sie sie überspringen.
  • DISTINCT :wenn Sie ausdrücklich den DISTINCT verwenden Option, die COUNT 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(*)
--------
3503Code 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(*) > 25Code 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.