Problema:
Vorresti determinare quante righe ha una tabella.
Esempio:
Il nostro database ha una tabella chiamata pet
con i dati nelle seguenti colonne:id
, eID
(identificatore elettronico) e name
.
id | eID | |
---|---|---|
1 | 23456 | frizzante |
2 | 23457 | milia |
3 | NULLO | lessia |
4 | NULLO | Carlo |
5 | 34545 | maggy |
Contiamo tutte le righe della tabella.
Soluzione:
COUNT(*)
conta il numero totale di righe nella tabella:
SELECT COUNT(*) as count_pet FROM pet;
Ecco il risultato:
count_pet |
---|
5 |
Invece di passare l'asterisco come argomento, puoi usare il nome di una colonna specifica:
SELECT COUNT(id) as count_pet FROM pet;
In questo caso, COUNT(id)
conta il numero di righe in cui id
non è NULL
.
Discussione:
Usa il COUNT
funzione di aggregazione per contare il numero di righe in una tabella. Questa funzione prende il nome della colonna come argomento (ad esempio, id
) e restituisce il numero di righe per questa particolare colonna nella tabella (ad es. 5).
Come accennato in precedenza, quando specifichi una colonna al posto dell'asterisco, la funzione conterà solo non NULL
valori. Poiché id è la chiave primaria della nostra tabella, e quindi ha un NULL
univoco e non valori:è un buon candidato per contare il numero totale di righe nella tabella.
Ovviamente, per contare tutte le righe, puoi invece passare il carattere asterisco come argomento a COUNT. Questo conterà tutte le righe, comprese quelle con un valore di NULL
in qualsiasi colonna.
Ecco un esempio di conteggio del numero di righe per una colonna che ha NULL
valori:
SELECT COUNT(eID) as count_pet FROM pet;
count_pet |
---|
3 |
Si consiglia di passare una colonna di chiave primaria o il carattere * alla funzione COUNT per contare il numero di righe in una tabella. Come abbiamo visto, entrambi gli approcci produrranno lo stesso risultato.