Problem:
Du vil gerne tælle, hvor mange forskellige ikke-NULL-værdier, der er i en given kolonne.
Eksempel:
Vores database har en tabel ved navn customer
med data i følgende kolonner:id
, first_name
, last_name
og city
.
id | fornavn | efternavn | by |
---|---|---|---|
1 | John | Williams | Chicago |
2 | Tom | Brun | Austin |
3 | Lucy | Møller | Chicago |
4 | Ellie | Smith | Dallas |
5 | Brian | Jones | Austin |
6 | Allan | Davis | NULL |
Lad os finde antallet af forskellige (og ikke-NULL
). ) byer.
Løsning:
SELECT COUNT( DISTINCT city) as cities FROM customer;
Denne forespørgsel returnerer antallet af byer, hvor kunderne bor:
byer |
---|
3 |
Diskussion:
For at tælle antallet af forskellige værdier, der er gemt i en given kolonne, skal du blot udpege den kolonne, du sender ind til COUNT
fungere som DISTINCT
. Når der gives en kolonne, COUNT
returnerer antallet af værdier i den kolonne. Ved at kombinere dette med DISTINCT
returnerer kun antallet af unikke (og ikke-NULL) værdier.