Problema:
Vorresti contare quanti diversi valori non NULL ci sono in una determinata colonna.
Esempio:
Il nostro database ha una tabella denominata customer
con i dati nelle seguenti colonne:id
, first_name
, last_name
e city
.
id | nome | cognome | città |
---|---|---|---|
1 | Giovanni | Williams | Chicago |
2 | Tom | Marrone | Austin |
3 | Lucia | Mugnaio | Chicago |
4 | Elli | Fabio | Dallas |
5 | Brian | Jones | Austin |
6 | Allan | Davis | NULLO |
Troviamo il numero di diversi (e non NULL
) città.
Soluzione:
SELECT COUNT( DISTINCT city) as cities FROM customer;
Questa query restituisce il numero di città in cui vivono i clienti:
città |
---|
3 |
Discussione:
Per contare il numero di valori diversi che sono memorizzati in una determinata colonna, devi semplicemente designare la colonna che passi a COUNT
funzione come DISTINCT
. Quando viene assegnata una colonna, COUNT
restituisce il numero di valori in quella colonna. Combinando questo con DISTINCT
restituisce solo il numero di valori univoci (e non NULL).