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.
- 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;
sqlSpesso è 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;
sqlEsempio 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;
sqlCome 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;
sqlSiccome 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';
sqlOra 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;
sqlLa 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;
sqlIn 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;
sqlL’output si presenterà quindi come segue:
Numero di voci
5
sqlScegli 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.