Problem:
Sie möchten zählen, wie viele verschiedene Nicht-NULL-Werte in einer bestimmten Spalte vorhanden sind.
Beispiel:
Unsere Datenbank hat eine Tabelle namens customer
mit Daten in den folgenden Spalten:id
, first_name
, last_name
, und city
.
id | Vorname | Nachname | Stadt |
---|---|---|---|
1 | Johannes | Williams | Chicago |
2 | Tom | Braun | Austin |
3 | Lucy | Müller | Chicago |
4 | Ellie | Smith | Dallas |
5 | Brian | Jones | Austin |
6 | Allan | Davis | NULL |
Lassen Sie uns die Anzahl der unterschiedlichen (und Nicht-NULL
) ermitteln ) Städte.
Lösung:
SELECT COUNT( DISTINCT city) as cities FROM customer;
Diese Abfrage gibt die Anzahl der Städte zurück, in denen Kunden leben:
Städte |
---|
3 |
Diskussion:
Um die Anzahl der verschiedenen Werte zu zählen, die in einer bestimmten Spalte gespeichert sind, müssen Sie einfach die Spalte bestimmen, die Sie an COUNT
übergeben Funktion als DISTINCT
. Wenn eine Spalte angegeben wird, COUNT
gibt die Anzahl der Werte in dieser Spalte zurück. Kombinieren Sie dies mit DISTINCT
gibt nur die Anzahl der eindeutigen (und Nicht-NULL-)Werte zurück.