COUNT nel linguaggio SQL

L'operatore COUNT del linguaggio SQL conta le righe (tuple) selezionate in un'interrogazione SELECT, restituendo il conteggio totale come risultato.

SELECT COUNT (colonna)
FROM tabella

E' uno degli operatori aggregati del linguaggio SQL.

L'operatore count è molto utile per realizzare report aggregati e sintetici.

Attenzione. I valori nulli non sono conteggiati dall'operatore Count. Quando indico il nome di un attributo come argomento COUNT(attributo), l'operatore count considera solo le righe in cui l'attributo ha un valore documentato. Per contare tutte le righe della tabella è preferibile usare l'asterisco COUNT(*).

    Un esempio pratico

    Ho la tabella Studenti

    una tabella di esempio

    Per contare tutti i record della tabella scrivo un'interrogazione in questo modo:

    SELECT COUNT (*)
    FROM Studenti

    La query conta le righe della tabella e restituisce il risultato del conteggio.

    5

    Esempio 2

    Posso contare anche i valori documentati in una singola colonna.

    Ad esempio la colonna Città.

    SELECT COUNT (Città)
    FROM Studenti

    La query elimina automaticamente dal conteggio tutti quei dati con valore NULL nel campo Città.

    Il risultato finale è il conteggio di tutte le tuple con l'attributo Città documentato.

    4

    Esempio 3

    Per contare il numero degli studenti che vivono a Milano aggiungo una condizione alla clausola WHERE:

    SELECT COUNT (*)
    FROM Studenti
    WHERE Città = "Milano"

    L'interrogazione restituisce il risultato

    2

    Esempio 4

    Per contare le città senza considerare duplicazioni, scrivo la query indicando l'attributo Città come argomento dell'operatore Count e aggiungo l'opzione DISTINCT.

    SELECT COUNT (DISTINCT Città)
    FROM Studenti

    L'opzione DISTINCT modifica le condizioni di conteggio eliminando la presenza dei dati ripetuti.

    In questo caso la query conta soltanto le righe in cui l'attributo Città ha valore diverso dalle altre.

    3

    Sono sempre esclusi dal conteggio i valori nulli.

    E così via.

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    SQL