# SQL SUM: come calcolare i record selezionati

SQL `SUM`, una delle funzioni aggregate di SQL, ti consente di **sommare i valori nelle tabelle e nelle colonne selezionate**. Puoi ad esempio determinare i fatturati totali o i sottoinsiemi facilmente in presenza di record complessi.

## Cos’è SQL `SUM`?

Per gli amministratori e le amministratrici di [database](https://www.ionos.it/digitalguide/hosting/tecniche-hosting/database/), il calcolo dei record è una delle operazioni più importanti e frequenti in [SQL](https://www.ionos.it/digitalguide/server/know-how/che-cose-sql/). La funzione aggregata SQL `SUM` è uno degli strumenti pressoché indispensabili per aggregare dati come calcolare i fatturati totali, determinare tendenze e modelli di dati o creare rapporti e analisi.

Con SQL `SUM` puoi **calcolare la somma dei record** e restituirla nelle tabelle dei risultati. Questa funzione, combinata con [operatori SQL](https://www.ionos.it/digitalguide/server/configurazione/operatori-sql/), [comandi SQL](https://www.ionos.it/digitalguide/server/configurazione/comandi-sql/) o altre funzioni aggregate come `MAX` e `MIN` o `AVG`, ti permette di eseguire calcoli complessi in base alle tue esigenze di database.

Consiglio Iniziare a usare il linguaggio di programmazione SQL non è difficile neanche se non si dispone di conoscenze pregresse. Impara le nozioni di base più importanti con la nostra [introduzione a SQL con esempi](https://www.ionos.it/digitalguide/server/configurazione/introduzione-a-sql-mediante-esempi/).

## La sintassi di SQL `SUM`

La semplice sintassi di SQL `SUM` si presenta come segue:

```sql
SELECT  SUM(ColonnaA)
FROM  TabellaA;
```

Si usano i parametri seguenti:

- `SELECT`: con l’istruzione [SQL SELECT](https://www.ionos.it/digitalguide/server/configurazione/sql-select/) scegli la colonna per cui desideri sommare i valori.
- `SUM`: inserita subito dopo la parola chiave `SELECT`, consente di determinare la somma dei valori rilevanti nella tabella selezionata. Combinando `SUM(ColonnaA)` con `AS` è possibile ad esempio denominare la colonna dei valori calcolati “Fatturato totale” nella tabella dei risultati.
- `WHERE`: aggiungendo la clausola [SQL WHERE](https://www.ionos.it/digitalguide/server/configurazione/sql-where/) puoi determinare i valori da sommare sulla base delle condizioni definite. Altre funzioni per circoscrivere i valori sono [SQL HAVING](https://www.ionos.it/digitalguide/server/configurazione/sql-having/), [SQL SELECT DISTINCT](https://www.ionos.it/digitalguide/server/configurazione/sql-like/) o [SQL CASE](https://www.ionos.it/digitalguide/server/configurazione/sql-case/).

## Le applicazioni di `SUM`

La funzione SQL `SUM` è una delle funzioni aggregate essenziali di SQL. È usata ogni volta che si vogliono **analizzare e calcolare valori, quantità e altre informazioni**. A prescindere dal settore d’impiego, tra le applicazioni più frequenti troviamo:

- Determinare e analizzare fatturati totali o prestazioni di aziende, progetti o campagne
- Calcolare valori medi come il valore medio del carrello, valutazioni dei clienti, fatturati o conversioni
- Valutare le transazioni, il numero di conti o gli importi dei bonifici
- Determinare le quantità di produzione, le scorte di magazzino o le quantità di consegna

## Esempi pratici di SQL `SUM`

Per spiegare la funzione aggregata SQL `SUM` ricorriamo a tre esempi pratici:

### Determinare le scorte di magazzino

In una tabella “Prodotti” con almeno le colonne “Numero” e “Nome prodotto” vogliamo determinare **quanti prodotti si trovano attualmente in magazzino**. Usando la parola chiave `AS` le scorte di magazzino sono riportate in una colonna separata nella tabella di destinazione. Con la clausola `WHERE` definisci per quale prodotto determinare le scorte di magazzino.

Procedi come indicato di seguito:

```sql
SELECT  SUM(Numero)  AS  ScortaMagazzino
FROM  Prodotti
WHERE  NomeProdotto  =  'NomeProdotto1';
```

### Fatturato totale per regione

Supponiamo di voler determinare e raggruppare il fatturato medio delle vendite per ciascuna città. In questo esempio prendiamo una tabella “Ordini” con almeno le colonne “Quantità dell’ordine“, “Prezzo” e “Città”.

Procediamo come indicato di seguito:

```sql
SELECT   Città,  SUM(Prezzo)  AS FatturatoTotale
FROM  Ordini
GROUP BY  Città;
```

### Determinare i salari totali per reparto

In una tabella “Collaboratori” vogliamo determinare i salari totali reparto per reparto e raggrupparli. Sono presenti **almeno colonne come “Nome”, “Salario” e “Reparto”**. Per visualizzare i salari totali per reparto, procediamo come segue:

```sql
SELECT   Reparto,  SUM(Salario)  AS SalarioTotale
FROM  Collaboratori
GROUP BY  Reparto;
```

## Alternative a SQL `SUM`

Oltre a `SUM`, per calcolare record, sommarli o eseguire altre azioni con valori numerici o calcoli sono disponibili anche le funzioni aggregate SQL seguenti:

- `AVG`: con [SQL AVG](https://www.ionos.it/digitalguide/server/configurazione/sql-avg/) puoi calcolare i valori medi delle colonne nei record selezionati. A sua volta, `SUM` calcola la somma dei valori.
- `COUNT`: l’istruzione [SQL COUNT](https://www.ionos.it/digitalguide/server/configurazione/sql-count/) conta il numero di record o righe in una tabella o colonna.
- `MIN` e `MAX`: con [SQL MIN AND MAX](https://www.ionos.it/digitalguide/server/configurazione/sql-min-e-max/) determini i valori minimo e massimo nei record selezionati.


This is a markdown version of: [https://www.ionos.it/digitalguide/server/configurazione/sql-sum/](https://www.ionos.it/digitalguide/server/configurazione/sql-sum/) for AI/LLM consumption.