PostgreSQL COUNT-Funktion

Zusammenfassung: In diesem Tutorial lernen Sie, wie Sie die PostgreSQL COUNT()-Funktion verwenden, um die Anzahl der Zeilen in einer Tabelle zu zählen.

Überblick über die PostgreSQL COUNT()-Funktion

Die COUNT()-Funktion ist eine Aggregatfunktion, mit der Sie die Anzahl der Zeilen ermitteln können, die eine bestimmte Bedingung einer Abfrage erfüllen.

Die folgende Anweisung veranschaulicht verschiedene Möglichkeiten der Verwendung der COUNT()-Funktion.

COUNT(*)

Die COUNT(*)-Funktion gibt die Anzahl der von einer SELECT-Anweisung zurückgegebenen Zeilen zurück, einschließlich NULL und Duplikate.

Code language: SQL (Structured Query Language) (sql)

Wenn Sie die Funktion COUNT(*) auf die gesamte Tabelle anwenden, muss PostgreSQL die gesamte Tabelle sequentiell durchsuchen.

Wenn Sie die Funktion COUNT(*) auf eine große Tabelle anwenden, wird die Abfrage langsam sein. Dies hängt mit der MVCC-Implementierung von PostgreSQL zusammen. Da mehrere Transaktionen verschiedene Zustände von Daten zur gleichen Zeit sehen, gibt es keine direkte Möglichkeit für die COUNT(*)-Funktion, die gesamte Tabelle zu zählen, daher muss PostgreSQL alle Zeilen scannen.

COUNT(column)

Ähnlich wie die COUNT(*)-Funktion gibt die COUNT(column)-Funktion die Anzahl der Zeilen zurück, die von einer SELECT-Klausel zurückgegeben werden. Sie berücksichtigt jedoch keine NULL-Werte in der column.

Code language: SQL (Structured Query Language) (sql)

COUNT(DISTINCT Spalte)

In dieser Form gibt die COUNT(DISTINCT column)-Funktion die Anzahl der eindeutigen Nicht-Null-Werte in der column.

Code language: SQL (Structured Query Language) (sql)

Wir verwenden die COUNT()-Funktion häufig mit der GROUP BY-Klausel, um die Anzahl der Elemente für jede Gruppe zurückzugeben. Zum Beispiel können wir COUNT() mit der GROUP BY-Klausel verwenden, um die Anzahl der Filme in jeder Filmkategorie zurückzugeben.

PostgreSQL COUNT()-Funktionsbeispiele

Zur Demonstration verwenden wir die Tabelle payment in der Beispieldatenbank.

1) PostgreSQL COUNT(*) Beispiel

Die folgende Anweisung verwendet die Funktion COUNT(*), um die Anzahl der Transaktionen in der Tabelle payment zurückzugeben:

Code language: SQL (Structured Query Language) (sql)

Hier ist die Ausgabe:

2) PostgreSQL COUNT(DISTINCT column) example

Um die einzelnen Beträge zu erhalten, die Kunden bezahlt haben, verwenden Sie die Funktion COUNT(DISTINCT amount) wie im folgenden Beispiel gezeigt:

Code language: SQL (Structured Query Language) (sql)

PostgreSQL COUNT() mit GROUP BY-Klausel

Um die Anzahl der Zahlungen eines Kunden zu ermitteln, verwenden Sie die GROUP BY-Klausel, um die Zahlungen auf der Grundlage der Kundennummer in Gruppen zu gruppieren, und verwenden Sie die COUNT()-Funktion, um die Zahlungen für jede Gruppe zu zählen.

Die folgende Abfrage veranschaulicht die Idee:

Code language: SQL (Structured Query Language) (sql)

Hier ist die Teilausgabe:

PostgreSQL COUNT() mit HAVING-Klausel

Sie können die COUNT-Funktion in einer HAVING-Klausel verwenden, um eine bestimmte Bedingung auf Gruppen anzuwenden. Zum Beispiel findet die folgende Anweisung Kunden, die mehr als 40 Zahlungen geleistet haben:

Code language: SQL (Structured Query Language) (sql)

In diesem Tutorial haben Sie gelernt, wie man die PostgreSQL COUNT()-Funktion verwendet, um die Anzahl der Zeilen in einer Tabelle zurückzugeben.

  • War dieses Tutorial hilfreich?
  • JaNein

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.