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.