Database
 sql >> Database >  >> RDS >> Database

Come contare valori distinti in SQL

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).