In SQL gibt die COUNT-Funktion die Anzahl der Zeilen einer Spalte aus.
SELECT COUNT(Spalte) FROM Tabelle;
Die SQL COUNT-Funktion gibt die Anzahl aller Zeilen an, die den Bedingungen unserer Abfrage entsprechen. COUNT ist eine Aggregatfunktion – in die Klammern der Funktion fügen wir die Namen der Spalten ein, die gezählt werden sollen. Die reguläre COUNT-Funktion ignoriert NULL Werte. Mit COUNT(*) zählen wir die gesamte Tabelle ab – inklusive NULL Werte.
SQL COUNT + DISTINCT - Keine Dopplungen zählen
Du kannst die Klammern der COUNT-Funktion mit dem DISTINCT-Statement erweitern. Mit diesem einfachen Befehl, werden alle doppelten Felder einer Spalte nicht mitgezählt. Möchte man z.B. die Anzahl aller Mitarbeiter aus dem Dienstplan haben, setzt man in die Klammern vor den Spalten den DISTINCT Befehl, damit Mitarbeiter nicht für jeden Wochentag jeweils einmal ausgegeben werden.
SELECT COUNT(DISTINCT Vorname, Nachname)
FROM Dienstplan;
SQL COUNT + GROUP BY - Gruppen zählen
Um die COUNT-Funktion nützlicher zu gestalten, kann man mit der GROUP BY-Klausel Abzählungen gruppieren. Ein beispielhafter Anwendungsfall ist das Abzählen von Filmgenres aus einer Videothek. Du erstellst dafür zwei Spalten: Die Spalte mit dem Namen des Genres und die COUNT-Funktion. In der GROUP BY-Klausel wird nach der Genre-Spalte gruppiert und zu jeder dieser Gruppen wird die COUNT-Funktion angewendet.
SELECT Genre, COUNT(Genre)
FROM Filme
GROUP BY Genre;