PostgreSQL count Funktion

In diesem PostgreSQL-Tutorial wird die Verwendung der PostgreSQL-Funktion count mit Syntax und Beispielen erläutert.

Beschreibung

Die PostgreSQL-Funktion count gibt die Anzahl eines Ausdrucks zurück.

Syntax

Die Syntax für die count Funktion in PostgreSQL lautet:

SELECT count(Aggregate_Ausdruck)
FROM Tabellen
[WHERE conditions];

ODER die Syntax für die count Funktion beim Gruppieren der Ergebnisse nach einer oder mehreren Spalten lautet:

SELECT Ausdruck1, Ausdruck2, … Ausdruck_n,
count(Aggregate_Ausdruck)
FROM Tabellen
[WHERE conditions]
GROUP BY Ausdruck1, Ausdruck2, … Ausdruck_n;

Parameter oder Argumente

Ausdruck1, Ausdruck2, … Ausdruck_n
Ausdrücke, die nicht in der count-Funktion enthalten sind und in der GROUP BY-Klausel am Ende der SQL-Anweisung enthalten sein müssen.
Aggregate_Ausdruck
Dies ist die Spalte oder Ausdruck, deren Nicht-Null-Werte gezählt werden.
Tabellen
Die Tabellen, aus denen Sie Datensätze abrufen möchten. In der FROM-Klausel muss mindestens eine Tabelle aufgeführt sein.
WHERE conditions
Optional. Dies sind Bedingungen, die erfüllt sein müssen, damit die Datensätze ausgewählt werden können.

Enthält nur NOT NULL-Werte

Nicht jeder erkennt dies, aber die Zählfunktion schließt nur die Datensätze in die Zählung ein, bei denen der Wert von Ausdruck in count (Ausdruck) NOT NULL ist. Wenn der Ausdruck einen NULL-Wert enthält, wird er nicht in die Zählungsberechnungen einbezogen.
Schauen wir uns ein Beispiel für eine count Funktion an, das zeigt, wie NULL-Werte von der count Funktion ausgewertet werden.
Wenn Sie beispielsweise die folgende Tabelle mit dem Namen suppliers haben:

supplier_idsupplier_namestate
1IBMCA
2Microsoft
3NVIDIA

Und wenn Sie die folgende SELECT-Anweisung ausgeführt haben, die die count Funktion verwendet:

In diesem Beispiel für die Anzahl wird 3 zurückgegeben, da alle supplier_id-Werte in der Ergebnismenge der Abfrage NOT NULL sind.
Wenn Sie jedoch die nächste SELECT-Anweisung ausführen, die die count Funktion verwendet:

In diesem Beispiel für die Anzahl wird nur 1 zurückgegeben, da nur ein state-Wert in der Ergebnismenge der Abfrage NOT NULL ist. Dies wäre die erste Zeile, in der state = ‚CA‘ ist. Es ist die einzige Zeile, die in die Berechnung der count Funktion einbezogen wird.

Gilt für

Die count Funktion kann in den folgenden Versionen von PostgreSQL verwendet werden:

  • PostgreSQL 12.1, PostgreSQL 11.6, PostgreSQL 10.11, PostgreSQL 9.6, PostgreSQL 9.5, PostgreSQL 9.4, PostgreSQL 9.3, PostgreSQL 9.2, PostgreSQL 9.1, PostgreSQL 9.0, PostgreSQL 8.4

Beispiel – Mit einem Ausdruck

Schauen wir uns einige Beispiele für PostgreSQL-count Funktionen an und untersuchen, wie die count Funktion in PostgreSQL verwendet wird.
Beispielsweise möchten Sie möglicherweise die Anzahl der producte mit dem product_type „Hardware“ kennen.

In diesem Beispiel für die count Funktion haben wir den count(*) als „Number of products“ angegeben. Infolgedessen ist „Number of products“ wird als Feldname angezeigt, wenn die Ergebnismenge zurückgegeben wird.

Beispiel – Verwenden von DISTINCT

Sie können die DISTINCT-Klausel innerhalb der count-Funktion verwenden. Die folgende SQL-Anweisung gibt beispielsweise die Anzahl der eindeutigen Abteilungen zurück, in denen mindestens ein employees mehr als 55.000 $ pro Jahr verdient.

Auch hier wird das count(DISTINCT department) als „Unique departments“ aliasiert. Dies ist der Feldname, der in der Ergebnismenge angezeigt wird.

Beispiel – Verwenden von GROUP BY

In einigen Fällen müssen Sie die GROUP BY-Klausel mit der count Funktion verwenden.
Sie können die count Funktion beispielsweise auch verwenden, um den Namen der department und die number of employees (in der zugeordneten department) zurückzugeben, die mehr als 40.000 $ verdienen.

Da Sie in Ihrer SELECT-Anweisung eine Spalte aufgeführt haben, die nicht in der count-Funktion enthalten ist, müssen Sie eine GROUP BY-Klausel verwenden. Das department feld muss daher im Abschnitt GROUP BY aufgeführt sein.