SQL COUNT(): come contare le righe all’interno di una tabella

SQL COUNT() ti consente di eseguire un’interrogazione per ottenere il numero di righe presenti all’interno di una tabella. Attraverso la condizione WHERE è anche possibile specificare ulteriormente i criteri di ricerca e output.

Cos’è SQL COUNT()?

Lo Structured Query Language prevede svariate funzioni per eseguire compiti matematici. In particolare, oltre a SQL AVG() e SUM(), SQL COUNT() è molto utile. Questa funzione restituisce il numero di righe corrispondenti a un determinato criterio, consentendoti di filtrare la tabella in base alle tue esigenze e quindi aumentando la chiarezza. SQL COUNT() è usata con il comando SQL SELECT. Utilizzando vari parametri opzionali puoi istruire la funzione in modo ancora più preciso. Di seguito ti mostriamo alcuni possibili esempi.

Server virtuali (VPS)
Virtualizzazione totale con accesso root completo
  • Traffico illimitato e fino a 1 Gbit/s di larghezza di banda
  • Storage SSD NVMe veloce
  • Plesk Web Host Edition incluso

La sintassi della funzione

Per prima cosa vale la pena di dare uno sguardo alla sintassi e al funzionamento generale di SQL COUNT(). Nella variante standard il codice è costituito soltanto da due righe:

SELECT COUNT(*)
FROM tabella;
sql

Spesso è però utile integrare una condizione WHERE per specificare l’output. In questo caso la funzione è un po’ più corta:

SELECT COUNT(*)
FROM tabella
WHERE condizione;
sql

Esempio di funzionamento

Per illustrare le possibilità 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 applichiamo 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.

Specificare l’interrogazione delle colonne

Inserendo l’asterisco dopo COUNT fornisci al sistema l’istruzione di considerare tutte le righe e i campi, senza eccezioni. Puoi però anche limitare l’interrogazione a determinate colonne. In questo caso i valori NULL non vengono considerati. Quindi, se controlliamo 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 combinazione con WHERE

Nella fase successiva utilizziamo la funzione con una condizione WHERE, che ci aiuta a filtrare le voci in base alle nostre esigenze. Se ad esempio vogliamo solo controllare quanti clienti provengono da Milano, aggiungiamo questa condizione:

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

Ora come risultato otteniamo 2.

SQL COUNT() funziona in modo analogo quando vogliamo considerare solo i clienti che hanno effettuato acquisti per almeno 400 euro:

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

La condizione è soddisfatta 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 provengono 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 valutazione.

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’interrogazione (trovi maggiori informazioni 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 presenterà 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 prestazioni eccellenti, una solida architettura di sicurezza e una consulenza personalizzata.

Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top