Count
COUNT è una funziona per contare i records.
Sintassi
SELECT COUNT (colonna) FROM tabella
Esempio
La tabella "anagrafici"
Nome | Cognome | Eta | Citta |
Lorenzo | Pascucci | 17 | Oriolo Romano |
Marcello | Tansini | 21 | Milano |
Michele | Basso | 17 | Udine |
SELECT COUNT (*) FROM anagrafici
Risultato
Conta il numero di righe, records presenti: 3
Esempio 2
SELECT COUNT (*) FROM anagrafici WHERE eta < 20
Risultato
Il risultato è 2, in quanto solo in 2 recordsè presente un'età inferiore a 20
COUNT (colonna)
COUNT(colonna) è una funzione che conta il numero dicampi VUOTI (null) di una o più colonne.
La tabella "anagrafici"
Nome | Cognome | Eta | Citta |
Lorenzo | Pascucci | 17 | Oriolo Romano |
Marcello | Tansini | 21 | |
Michele | Basso | 17 |
SELECT COUNT(citta) FROM anagrafici
Risultato
Il risultato è 2, in quanto nella colonna cittadue campi sono vuoti.
COUNT DISTINCT
Questo comando fa il conteggio del numero di records checontengono parole distinte tra di loro (ovvero se incontra 2o più records con un campo che ha lo stesso valore,tale valore viene calcolato solo la prima volta e lesuccessive non conteggiato)
La tabella "anagrafici"
Nome | Cognome | Eta | Citta |
Lorenzo | Pascucci | 17 | Oriolo Romano |
Marcello | Tansini | 21 | Milano |
Michele | Basso | 17 | Milano |
SELECT COUNT(eta) FROM anagrafici
Risultato
Tale espressione da come risultato: 3, perchèvi sono 3 records.
Invece, l'espressione sql:
SELECT DISTINCT COUNT(eta) FROM anagrafici
Risultato
Restituisce come risultato: 2, in quanto essendocipresente due campi uguali (l'età 17), tali campivengono conteggiati una sola volta.
Logicamente non funziona solo con campi che contengononumeri, ma con tutti i tipi di campo, la stesa cosa vale,quindi:
SELECT DISTINCT COUNT(citta) FROM anagrafici
Risultato
Che restituisce 2, in quanto è presente 2 volteMilano.