Problem:
Du vill räkna hur många olika icke-NULL-värden det finns i en given kolumn.
Exempel:
Vår databas har en tabell som heter customer
med data i följande kolumner:id
, first_name
, last_name
och city
.
id | förnamn | efternamn | stad |
---|---|---|---|
1 | John | Williams | Chicago |
2 | Tom | Brun | Austin |
3 | Lucy | Miller | Chicago |
4 | Ellie | Smith | Dallas |
5 | Brian | Jones | Austin |
6 | Allan | Davis | NULL |
Låt oss hitta antalet olika (och icke-NULL
). ) städer.
Lösning:
SELECT COUNT( DISTINCT city) as cities FROM customer;
Denna fråga returnerar antalet städer där kunder bor:
städer |
---|
3 |
Diskussion:
För att räkna antalet olika värden som är lagrade i en viss kolumn behöver du helt enkelt ange kolumnen du skickar in till COUNT
fungerar som DISTINCT
. När en kolumn ges, COUNT
returnerar antalet värden i den kolumnen. Att kombinera detta med DISTINCT
returnerar endast antalet unika (och icke-NULL) värden.