SQL COUNT() ti consente di eseguire un’in­ter­ro­ga­zio­ne per ottenere il numero di righe presenti all’interno di una tabella. At­tra­ver­so la con­di­zio­ne WHERE è anche possibile spe­ci­fi­ca­re ul­te­rior­men­te i criteri di ricerca e output.

Cos’è SQL COUNT()?

Lo Struc­tu­red Query Language prevede svariate funzioni per eseguire compiti ma­te­ma­ti­ci. In par­ti­co­la­re, oltre a SQL AVG() e SUM(), SQL COUNT() è molto utile. Questa funzione re­sti­tui­sce il numero di righe cor­ri­spon­den­ti a un de­ter­mi­na­to criterio, con­sen­ten­do­ti di filtrare la tabella in base alle tue esigenze e quindi au­men­tan­do la chiarezza. SQL COUNT() è usata con il comando SQL SELECT. Uti­liz­zan­do vari parametri opzionali puoi istruire la funzione in modo ancora più preciso. Di seguito ti mostriamo alcuni possibili esempi.

Server virtuali (VPS)
Affidati ai VPS e server di IONOS, il tuo partner digitale cer­ti­fi­ca­to ISO
  • 1 Gbps di larghezza di banda e traffico il­li­mi­ta­to
  • Di­spo­ni­bi­li­tà del 99,99% e cer­ti­fi­ca­zio­ne ISO
  • As­si­sten­za 24/7 e con­su­len­te personale

La sintassi della funzione

Per prima cosa vale la pena di dare uno sguardo alla sintassi e al fun­zio­na­men­to generale di SQL COUNT(). Nella variante standard il codice è co­sti­tui­to soltanto da due righe:

SELECT COUNT(*)
FROM tabella;
sql

Spesso è però utile integrare una con­di­zio­ne WHERE per spe­ci­fi­ca­re l’output. In questo caso la funzione è un po’ più corta:

SELECT COUNT(*)
FROM tabella
WHERE condizione;
sql

Esempio di fun­zio­na­men­to

Per il­lu­stra­re le pos­si­bi­li­tà offerte da SQL COUNT() creiamo una tabella di esempio chiamata Lista clienti. Questa tabella comprende i seguenti dati: numero cliente, nome del cliente, la loro località, il numero di articoli ordinati e la somma investita in euro. Si presenta come segue:

Numero cliente Nome Località Articoli Importo totale
1427 Russo Roma 14 634
1377 Rossi Milano 9 220
1212 Bianchi Milano 15 619
1431 Mancini Palermo 22 912
1118 Innocenti NULL 10 312

Se ora ap­pli­chia­mo la variante di base della funzione a questa tabella, otteniamo il codice seguente:

SELECT COUNT(*)
FROM lista clienti;
sql

Come risultato otteniamo il valore 5, perché la tua tabella contiene cinque righe.

Spe­ci­fi­ca­re l’in­ter­ro­ga­zio­ne delle colonne

Inserendo l’asterisco dopo COUNT fornisci al sistema l’istru­zio­ne di con­si­de­ra­re tutte le righe e i campi, senza eccezioni. Puoi però anche limitare l’in­ter­ro­ga­zio­ne a de­ter­mi­na­te colonne. In questo caso i valori NULL non vengono con­si­de­ra­ti. Quindi, se con­trol­lia­mo il numero di righe alla voce località, otteniamo un risultato diverso:

SELECT COUNT(località)
FROM lista clienti;
sql

Siccome per il cliente Innocenti non è stata inserita nessuna località, ora otteniamo il risultato 4.

La com­bi­na­zio­ne con WHERE

Nella fase suc­ces­si­va uti­liz­zia­mo la funzione con una con­di­zio­ne WHERE, che ci aiuta a filtrare le voci in base alle nostre esigenze. Se ad esempio vogliamo solo con­trol­la­re quanti clienti pro­ven­go­no da Milano, ag­giun­gia­mo questa con­di­zio­ne:

SELECT COUNT(località)
FROM lista clienti
WHERE località = 'Milano';
sql

Ora come risultato otteniamo 2.

SQL COUNT() funziona in modo analogo quando vogliamo con­si­de­ra­re solo i clienti che hanno ef­fet­tua­to acquisti per almeno 400 euro:

SELECT COUNT(località)
FROM lista clienti
WHERE importo totale > 400;
sql

La con­di­zio­ne è sod­di­sfat­ta per tre clienti.

Escludere le voci doppie

Usando la parola chiave DISTINCT puoi invece escludere le voci doppie. Se quindi vuoi sapere da quante città diverse pro­ven­go­no i tuoi clienti, usa il codice seguente:

SELECT COUNT(DISTINCT località)
FROM lista clienti;
sql

In questo caso il risultato è 3. Le due voci per Milano sono state contate solo una volta e, siccome il campo del cliente Innocenti è NULL, anch’esso è escluso dalla va­lu­ta­zio­ne.

La funzione con un alias

Per usare un altro nome per l’output puoi usare la parola chiave “AS”, che crea un alias soltanto per la durata dell’in­ter­ro­ga­zio­ne (trovi maggiori in­for­ma­zio­ni su SQL AS nella nostra guida). Nel nostro esempio, un alias potrebbe essere:

SELECT COUNT(*) AS [numero di voci]
FROM lista clienti;
sql

L’output si pre­sen­te­rà quindi come segue:

Numero di voci
5
sql
Consiglio

Scegli il modello di database più adatto a te: con l’hosting SQL Server di IONOS, oltre a poter scegliere tra MSSQL, MySQL e MariaDB, puoi anche contare su pre­sta­zio­ni ec­cel­len­ti, una solida ar­chi­tet­tu­ra di sicurezza e una con­su­len­za per­so­na­liz­za­ta.

Vai al menu prin­ci­pa­le