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