Corso
La funzione SQL SUM() è un’utile funzione di aggregazione per calcolare i totali delle colonne numeriche. La funzione SUM() è importante nell’analisi dei dati perché riassume le metriche chiave di specifiche colonne numeriche. Grazie alle sue applicazioni dirette, la funzione SUM() aiuta gli analyst a ricavare insight significativi da grandi dataset. Inoltre, questa funzione versatile è supportata in diversi database, tra cui SQL Server, PostgreSQL, MySQL e Oracle.
Se sei un data analyst alle prime armi o con esperienza e vuoi far fare un salto di qualità alle tue competenze analitiche, ti consiglio vivamente i corsi di DataCamp Introduction to SQL e Intermediate SQL per migliorare le tue capacità di analisi dei dati. Anche la SQL Basics Cheat Sheet sarà un ottimo riferimento lungo il percorso.
Come usare la funzione SUM() in SQL
La funzione SQL SUM() viene usata per aggregare i totali di una specifica colonna in un dataset. Considera la tabella orders con la seguente struttura.

Tabella di esempio per aggregare i totali di colonna usando la funzione SUM(). Immagine dell’autore.
La query seguente restituirà le quantità totali dalla colonna quantity, con alias total_quantity, e il ricavo calcolato dalla somma del prodotto tra quantity e price, con alias total_revenue.
Nota come, nel caso di total_revenue, la funzione SUM() venga usata con un’espressione per effettuare un calcolo aggiuntivo sulla colonna prima di ottenere i totali. Nota anche che la funzione SUM() ignora i valori NULL quando calcola i totali.
-- Select the total quantity and the total revenue-- Calculate the total quantity of all orders and alias 'total_quantity'.-- Calculate the total revenue and assigns it an alias 'total_revenue'.SELECT SUM(quantity) AS total_quantity, SUM(quantity * price) AS total_revenueFROM orders;
Tabella di output di esempio della funzione SUM() usando un alias e un’espressione. Immagine dell’autore.
Casi d’uso della funzione SUM() in SQL
La funzione SUM() in SQL può essere usata anche per eseguire calcoli avanzati. Vediamo alcuni esempi.
Calcolare una somma cumulativa in SQL
Una somma cumulativa indica il totale progressivo di una colonna numerica. Calcolare somme cumulative è importante perché aiuta a monitorare i totali su periodi diversi per metriche rilevanti come ricavi o vendite. La query seguente mostra come usare la funzione SUM() per calcolare i totali cumulativi della colonna quantity.
-- Calculate cumulative sums of the 'quantity' column for each order_dateSELECT order_date, quantity, -- Calculate the cumulative sum of 'quantity' ordered by 'order_date' SUM(quantity) OVER (ORDER BY order_date) AS cumulative_quantityFROM orders;
Tabella di output di esempio che usa la funzione SQL SUM() per calcolare somme cumulative. Immagine dell’autore.
Ti consiglio il corso di DataCamp Data Manipulation in SQL, che illustra in dettaglio l’uso delle window function nell’aggregazione per tecniche come il calcolo dei totali progressivi. La SQL Window Functions Cheat Sheet è anche una guida adatta per consultare rapidamente le diverse window function e le loro applicazioni.
Sommare più colonne in SQL
La funzione SUM() può anche essere usata per calcolare i totali di più colonne. Questo approccio aggrega i dati di colonne multiple in un’unica misura. Considera la nuova tabella orders qui sotto, con le colonne opening_quantity e received_quantity.

Tabella di esempio per sommare più colonne usando la funzione SQL SUM(). Immagine dell’autore.
L’esempio seguente mostra come usare la funzione SUM() per calcolare i totali combinati delle colonne opening_quantity e received_quantity. Qui l’operatore + è usato per eseguire l’addizione tra due valori numerici.
-- Calculate the total quantity of opening_quantity and received_quantity columns-- Sum the total values in one columnSELECT SUM(opening_quantity + received_quantity) AS total_quantityFROM orders;
Tabella di output di esempio che usa la funzione SQL SUM() per sommare più colonne. Immagine dell’autore.
Calcolare una somma mobile in SQL
La somma mobile consente di calcolare i totali in base a un numero specificato di righe precedenti. La funzione SUM() in SQL calcola la somma mobile per metriche importanti come le vendite totali a 7 giorni. La query seguente mostra un esempio di uso della funzione SUM() per calcolare la somma mobile di quantity sulle ultime 3 righe ordinate per order_date.
-- Calculate rolling sums of the 'quantity' column for the past 3 orders for each order_dateSELECT order_date, quantity, -- Calculate the rolling sum of 'quantity' over the last 3 rows ordered by 'order_date' SUM(quantity) OVER ( ORDER BY order_date ROWS BETWEEN 2 PRECEDING AND CURRENT ROW ) AS rolling_quantityFROM orders;
Tabella di output di esempio del calcolo della somma mobile in SQL usando la funzione SUM(). Immagine dell’autore.
Somma dei valori DISTINCT in SQL
Puoi sommare i valori di una specifica colonna usando la parola chiave DISTINCT per calcolare i totali solo dei valori unici. L’esempio seguente mostra la parola chiave DISTINCT usata per sommare i valori unici nelle colonne quantity e price.
-- Sum the distinct values of the quantity and price columnsSELECT SUM(DISTINCT quantity) AS total_distinct_quantity, SUM(DISTINCT price) AS total_distinct_priceFROM orders;SUM e altre funzioni di aggregazione SQL
Come abbiamo visto, la funzione SQL SUM() è uno strumento potente e più versatile di quanto sembri. Resta comunque solo una delle tante funzioni di aggregazione in SQL. Ecco una tabella che riassume le funzioni di aggregazione SQL più comuni, le loro descrizioni ed esempi:
| Function | Description | Example |
|---|---|---|
| SUM() | Calcola la somma totale di una colonna numerica. | Quantità totale e ricavi. |
| AVG() | Calcola il valore medio di una colonna numerica. | Prezzo medio dei prodotti. |
| MIN() | Restituisce il valore più piccolo in una colonna. | Quantità minima degli ordini. |
| MAX() | Restituisce il valore più grande in una colonna. | Prezzo massimo dei prodotti. |
| COUNT() | Restituisce il numero di righe che soddisfano una condizione specificata. | Numero totale di ordini. |
Conclusione
Imparare la funzione SUM() in SQL è importante per comprenderne le diverse applicazioni nell’analisi dei dati. La funzione SUM() è supportata nei principali database e ha un’implementazione simile con diverse clausole e window function. Ti incoraggio a esercitarti con le applicazioni della funzione SUM() su dataset differenti per affinare le tue abilità in SQL.
Se vuoi far crescere le tue competenze SQL per la business analytics, ti invito a dare un’occhiata allo skill track di DataCamp SQL Fundamentals per comprendere le competenze on-demand. Allo stesso modo, dai un’occhiata al nostro career track Associate Data Analyst in SQL per aiutarti a imparare e padroneggiare le competenze SQL necessarie a far avanzare la tua carriera. Infine, ti consiglio vivamente di ottenere la SQL Associate Certification di DataCamp per dimostrare la padronanza delle competenze SQL e distinguerti tra gli altri data analyst.
Domande frequenti
Che cos’è la funzione SQL SUM()?
La funzione SUM() calcola i valori totali di una colonna numerica all’interno di una tabella/dataset.
Qual è la differenza tra le funzioni SUM() e COUNT()?
La funzione SUM() calcola i valori totali in una colonna. La funzione COUNT() restituisce il numero totale di righe in base a una condizione.
Come gestisce i valori NULL la funzione SUM()?
Quando calcola i totali, la funzione SUM() ignora i valori NULL in una colonna.
Si può usare la parola chiave DISTINCT con la funzione SUM()?
La parola chiave DISTINCT si usa con la funzione SUM() per calcolare i totali dei valori unici in una colonna.
Come puoi usare la funzione SUM() con le window function?
La funzione SUM() può essere usata come window function con la clausola OVER per calcolare somme cumulative e altri conteggi su partizioni dei dati.
Quali altre funzioni in SQL sono simili a SUM()?
Altre funzioni di aggregazione simili in SQL includono AVG() per le medie, COUNT() per il conteggio delle righe, MIN() per il valore più piccolo, MAX() per il più grande, COUNT(DISTINCT) per i conteggi unici, GROUP_CONCAT() per la concatenazione di stringhe, e STDDEV() o VARIANCE() per i calcoli statistici. Queste funzioni aiutano a riassumere e analizzare i dati in modo efficiente.


