Commenti(0)
Contare il numero di record in una tabella MySQL - L'istruzione COUNT
Ecco come contare gli elementi in SQL, introduzione all'istruzione count
L’istruzione COUNT serve per contare il numero di record in una tabella a database con MySQL si ricorre all’istruzione COUNT, appartenente allo standard SQL. Questa istruzione, applicata ad un nome di colonna, calcola il numero di valori in essa presenti. Ad esempio se abbiamo la tabella studenti così valorizzata:
| Matricola | Nome | Anno | Crediti | Voto |
| 1 | Calcolatori Elettronici | 2 | 10 | 30 |
| 1 | Informatica | 2 | 10 | 30 |
| 1 | Matematica | 1 | 10 | 23 |
| 2 | Informatica | 2 | 10 | 30 |
| 2 | Ingegneria del Software | 3 | 10 | 30 |
| 2 | Matematica | 1 | 10 | 27 |
| 10 | Elettronica digitale | 2 | 10 | 30 |
| 10 | Microelettronica | 2 | 10 | 30 |
| 10 | Optoelettronica | 3 | 10 | 30 |
| 84 | Elettronica | 2 | 10 | |
| 84 | Fisica | 2 | 10 | |
| 84 | Matematica | 1 | 10 | 30 |
| 85 | Misure | 3 | 10 | |
| 85 | Sicurezza | 2 | 10 | 28 |
la seguente istruzione
conta il numero di campi che sono valorizzati all’interno della colonna Voto. Di conseguenza essendo il numero di record valorizzati solo 12 nella colonna Voto (3 di loro sono NULL), il risultato sarà
| Numerovoti | 12 |
Dando al risultato il nome “Numerovoti” inserito all’interno dell’istruzione in precedenza.
Se viene messo come parametro della COUNT il simbolo *, la funzione restituisce il numero delle righe selezionate per ciascun gruppo. Ad esempio l’istruzione
restituisce il numero di record presente nella tabella esami, ovvero
| Numerorecord | 15 |
mentre l’istruzione
Restituisce il numero di record presenti all’interno della tabella esami, dove il campo Nome è valorizzato con Matematica. Infine se il nome di colonna viene preceduto dal parametro DISTINCT, la funzione calcola il numero di valori distinti della colonna. Ad esempio
restituisce il numero effettivo di esami presenti in tabella, ovvero:
| Numeronome | 11 |
N.B. Se avessi fatto
avrei avuto
| Numeronome | 15 |
in quanto in questo caso MySQL avrebbe applicato la distinct alla tabella complessiva ottenuta con la query sulla tabella esami. Non essendoci ovviamente record duplicati ed essendo tutti i campi nella colonna Nome diversi da NULL il conteggio dei campi valorizzati nella colonna Nome è pari a tutti i record presenti in tabella, ovvero 15. Nel caso precedente invece la distinct è applicata direttamente alla colonna Nome, di conseguenza MySQL esegue prima la query sulla tabella esami, poi conta il numero effettivo di campi diversi nella colonna Nome che sono pari a 11.
Condividi su:
Esprimi un voto:
Argomenti chiave:

MySQL Report un tool di shell per tenere tutto sotto controllo