Vai al contenuto principale

FUNZIONE SQL COUNT()

COUNT() ti permette di contare il numero di righe che soddisfano determinate condizioni. Scopri come usarla in questo tutorial.
Aggiornato 3 giu 2026  · 3 min leggi

È ovvio che contare righe o valori è una parte importante dell'analisi dei dati. Non sorprende quindi che SQL abbia una funzione dedicata per aiutarti. Che tu stia identificando duplicati, calcolando totali per gruppo o filtrando dati, la funzione COUNT() è qui per aiutarti.

In questo articolo ti mostro i molti modi in cui COUNT() è utile, dalla sua sintassi di base a casi d'uso più interessanti con GROUP BY e HAVING. Valuta anche di iscriverti alla nostra SQL Associate Certification, un ottimo modo sia per imparare sia per arricchire il tuo CV.

Che cos'è la funzione COUNT() in SQL?

La funzione COUNT() restituisce il numero di righe che soddisfano un criterio.

Sintassi di SQL COUNT()

La sintassi di base di COUNT() è la seguente.

SELECT COUNT(column_name)
FROM table_name;

Varianti della sintassi consentono di raggiungere obiettivi diversi.

  • La sintassi COUNT(*) permette di contare il numero di righe in una tabella

  • La sintassi COUNT(DISTINCT column) permette di contare il numero di valori distinti in una colonna 

  • La sintassi COUNT(CASE WHEN condition THEN column END) permette di contare il numero di valori che soddisfano determinate condizioni.

COUNT(), usata con GROUP BY, è utile per contare il numero di righe appartenenti a ciascun gruppo.

COUNT(), usata con HAVING, è utile per filtrare i gruppi in base al numero di righe che contengono.

Illustreremo questi aspetti con gli esempi qui sotto.

Esempi della funzione SQL COUNT()

Esegui e modifica il codice da questo tutorial online

Esegui codice

Contare il numero di righe con COUNT(*)

La tabella chiamata products contiene tutti i prodotti venduti da un'azienda. La clausola COUNT(*) ci permette di calcolare il numero di righe nella tabella. 

SELECT
    COUNT(*) AS number_of_rows
FROM products

number_of_rows

321

Contare i valori unici con COUNT(DISTINCT …)

La sintassi COUNT(DISTINCT column) permette di contare il numero di valori unici in una colonna.

Per esempio, ogni prodotto ha un brand associato nella tabella products. Possiamo contare il numero di prodotti e di brand unici nella tabella.

SELECT
    COUNT(DISTINCT product_id) AS unique_product_count,
    COUNT(DISTINCT brand_id) AS unique_brand_count
FROM products

unique_product_count

unique_brand_count

321

9

Contare le righe che soddisfano una condizione usando COUNT() con CASE WHEN 

La sintassi COUNT(CASE WHEN condition THEN column END) permette di calcolare il numero di righe che soddisfano una condizione.

Per esempio, nella tabella products ogni prodotto ha un list_price. Possiamo calcolare quanti prodotti sono “expensive” (con un prezzo di listino superiore a 500 $) o meno.

SELECT
    COUNT(CASE WHEN list_price >= 500 THEN product_id END) AS expensive_product_count,
   COUNT(CASE WHEN list_price < 500 THEN product_id END) AS cheap_product_count
FROM products

expensive_product_count

cheap_product_count

213

108

Contare le righe per gruppo usando COUNT() con GROUP BY

COUNT() può essere usata con GROUP BY per trovare il numero di righe in ciascun gruppo.

Per esempio, la tabella dei prodotti contiene modelli di biciclette dal 2016 al 2019. Per trovare la distribuzione delle biciclette, possiamo usare COUNT(product_id) e GROUP BY model_year per contare il numero di prodotti per ciascun anno.

SELECT
    model_year,
    COUNT(product_id) AS product_count
FROM products
GROUP BY model_year

model_year

product_count

2016

26

2017

85

2018

204

2019

6

Filtrare i gruppi usando COUNT() con GROUP BY e HAVING

Nell'esempio 4 vediamo che COUNT() può essere usata con GROUP BY. Possiamo usare l'istruzione HAVING per filtrare i gruppi in base al numero di righe presenti in quel gruppo.

Per esempio, per trovare gli anni che hanno meno di 50 prodotti, possiamo usare la seguente sintassi.

SELECT
   model_year
FROM products
GROUP BY model_year
HAVING COUNT(product_id) < 50

year_with_less_than_50_pdt

2016

2019

Requisiti tecnici

COUNT() è una funzione disponibile in tutte le versioni di SQL moderne. DataCamp offre corsi mirati per aiutarti a padroneggiare SQL nel contesto del sistema di database che preferisci. Ecco alcune opzioni per iniziare. Direi che Oracle è il più diverso, perché ha funzioni specifiche e funzionalità aggiuntive.

Approfondisci SQL

Continua a imparare SQL con DataCamp. Ho scritto altri tutorial per iniziare. Spero ti siano utili.

Valuta anche la nostra SQL Associate Certification, che secondo me fa un'ottima figura sul tuo CV o resume.


Travis Tang 's photo
Author
Travis Tang
LinkedIn

Data scientist presso Tiktok e studente magistrale al GeorgiaTech, ho una passione innata per la data science e ho costruito un percorso professionale unico che intreccia tecnologia, rischio e miglioramento continuo. Durante il mio periodo come Data Scientist presso Merchant Platform, ho mitigato rischi e contrastato le frodi usando modelli di dati complessi, facendo risparmiare migliaia di dollari ogni settimana. Ho affinato le mie competenze dedicando innumerevoli ore all’autoapprendimento, ottenendo certificazioni da istituzioni rinomate e diventando esperto in temi come Deep Learning, TensorFlow e Social Network Analysis. Su DataCamp e altre piattaforme educative metto a frutto questo bagaglio per ispirare e formare altre persone, aprendo nuove strade nel campo della data science e dimostrando che, con determinazione e i dati giusti, ogni rischio può trasformarsi in un’opportunità.

Domande frequenti su SQL COUNT()

COUNT() può contare solo righe specifiche?

Sì, puoi usare una clausola WHERE con COUNT() per contare solo le righe che soddisfano criteri specifici. Per esempio:

SELECT COUNT(*) FROM employees WHERE department = 'Sales';

Qual è la differenza tra COUNT(*) e COUNT(column_name)?

COUNT(*) conta tutte le righe in una tabella, incluse le righe con valori NULL. COUNT(column_name) conta solo le righe in cui la colonna specificata non è NULL.

Posso contare valori distinti usando COUNT()?

Sì, puoi contare i valori unici in una colonna combinando COUNT() con la parola chiave DISTINCT:

SELECT COUNT(DISTINCT department) FROM employees;

Come gestisce COUNT() le righe duplicate?

Per impostazione predefinita, COUNT(*) conta tutte le righe, incluse le duplicazioni. Per contare solo le righe uniche, usa COUNT(DISTINCT column_name).

Argomenti

Corsi SQL popolari

Corso

Analisi esplorativa dei dati in SQL

4 h
179.2K
Scopri come capire cosa c'è in un database: le tabelle, come sono collegate tra loro e i dati che contengono.
Vedi dettagliRight Arrow
Inizia il corso
Mostra altroRight Arrow
Correlato

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

Mostra altroMostra altro