SQL COUNT() Tutorial

Mit SQL COUNT() können Sie abfragen, wie viele Zeilen sich innerhalb einer Tabelle befinden. Durch die WHERE-Bedingung ist es außerdem möglich, die Such- und Ausgabekriterien noch weiter zu spezifizieren.

Was ist SQL COUNT()?

Es gibt in der Structured Query Language zahlreiche Funktionen, mit denen Sie einfache mathematische Aufgaben durchführen können. Neben SQL AVG() und SUM() ist insbesondere SQL COUNT() sehr nützlich. Die Funktion gibt Ihnen die Anzahl der Zeilen aus, die einem bestimmten Kriterium entsprechen. Das erlaubt es Ihnen, Ihre Tabelle nach eigenen Anforderungen zu filtern und erhöht so die Übersichtlichkeit. SQL COUNT() wird mit dem SQL-Befehl SELECT verwendet. Durch verschiedene optionale Parameter können Sie die Funktion noch genauer instruieren. Einige mögliche Beispiele dafür zeigen wir Ihnen im Folgenden.

vServer / VPS
Vollständig virtualisiert mit Root-Zugriff
  • Bis zu 1 Gbit/s Bandbreite & unbegrenzt Traffic
  • Schneller NVMe-SSD-Speicher
  • Kostenlose Plesk Web Host Edition

Die Syntax der Funktion

Grundsätzlich lohnt sich zunächst allerdings ein Blick auf die Syntax und generelle Funktionsweise von SQL COUNT(). Diese ist in der Standardvariante nur zwei Zeilen lang und sieht so aus:

SELECT COUNT(*)
FROM tabelle;
sql

Es ist jedoch häufig sinnvoll, eine WHERE-Bedingung einzubauen, um die Ausgabe zu spezifizieren. In diesem Fall wird die Funktion ein wenig länger:

SELECT COUNT(*)
FROM tabelle
WHERE bedingung;
sql

Beispiel für die Funktionsweise

Um die Möglichkeiten zu veranschaulichen, die sich Ihnen durch SQL COUNT() bieten, erstellen wir eine beispielhafte Tabelle namens Kundenliste. Diese umfasst Angaben zur Kundennummer, den Namen der Kundin oder des Kunden, deren oder dessen Standort, die Anzahl der bestellten Artikel und die investierte Summe in Euro. Sie sieht so aus:

Kundennummer Name Standort Artikel Gesamtbetrag
1427 Schmidt Berlin 14 634
1377 Schulz Hamburg 9 220
1212 Peters Hamburg 15 619
1431 Müller München 22 912
1118 Becker NULL 10 312

Wenden wir nun die Basisvariante der Funktion auf diese Tabelle an, ergibt sich folgender Code:

SELECT COUNT(*)
FROM Kundenliste;
sql

Als Ausgabe erhalten Sie den Wert 5, da Ihre Tabelle fünf Zeilen enthält.

Abfrage der Spalten spezifizieren

Durch das Sternchen hinter COUNT weisen Sie das System an, ausnahmslos alle Zeilen und Felder zu berücksichtigen. Es ist aber auch möglich, die Anfrage lediglich auf bestimmte Spalten zu reduzieren. In diesem Fall werden NULL-Werte nicht berücksichtigt. Wenn wir also die Anzahl der Zeilen in Standort überprüfen, werden wir ein anderes Gesamtergebnis erhalten:

SELECT COUNT(Standort)
FROM Kundenliste;
sql

Da für den Kunden oder die Kundin Becker kein Standort hinterlegt wurde, erhalten wir nun das Ergebnis 4.

Die Kombination mit WHERE

Im nächsten Schritt nutzen wir die Funktion mit einer WHERE-Bedingung. Dies hilft uns, die Einträge nach unseren Vorstellungen zu filtern. Wenn wir also beispielsweise lediglich überprüfen möchten, wie viele Kundinnen und Kunden aus Hamburg kommen, fügen wir diese Bedingung ein:

SELECT COUNT(Standort)
FROM Kundenliste
WHERE Standort = 'Hamburg';
sql

Als Ergebnis erhalten wir nun die 2.

Ähnlich funktioniert SQL COUNT(), wenn wir lediglich Kundinnen und Kunden berücksichtigen möchten, die für mindestens 400 Euro eingekauft haben:

SELECT COUNT(Standort)
FROM Kundenliste
WHERE Gesamtbetrag > 400;
sql

Auf drei Kundinnen und Kunden trifft dies zu.

Doppelte Einträge ausschließen

Mit dem Keyword DISTINCT können Sie hingegen doppelte Einträge ausschließen. Wenn Sie also wissen möchten, aus wie vielen verschiedenen Städten Ihre Kundinnen und Kunden kommen, nutzen Sie den folgenden Code:

SELECT COUNT(DISTINCT Standort)
FROM Kundenliste;
sql

Das Ergebnis lautet in diesem Fall 3. Die beiden Einträge für Hamburg wurden nur einmal gezählt und da das Feld für den Kunden oder die Kundin Becker NULL ist, fällt dieses ebenfalls aus der Wertung.

Die Funktion mit einem Alias

Wenn Sie die Ausgabe zusätzlich betiteln möchten, können Sie das Keyword „AS“ verwenden (mehr zu SQL AS in unserem Ratgeber). Dieses erstellt einen Alias für die Dauer der Abfrage. Für unser Beispiel könnte dies ein möglicher Alias sein:

SELECT COUNT(*) AS [Anzahl der Einträge]
FROM Kundenliste;
sql

Die Ausgabe liest sich dann folgendermaßen:

Anzahl der Einträge
5
sql
Tipp

Wählen Sie das Datenbankmodell, das wirklich zu Ihnen passt: Mit SQL-Server-Hosting von IONOS nutzen Sie nach Wunsch MSSQL, MySQL oder MariaDB und profitieren von einer Top-Performance, einer starken Sicherheitsarchitektur und persönlicher Beratung.

War dieser Artikel hilfreich?
Page top