SQL SUM Function (Italiano)

Sommario: in questo tutorial, imparerete come utilizzare la funzione SQL SUM per calcolare la somma di tutti i valori o valori distinti.

Introduzione alla funzione SQL SUM

La funzioneSUM restituisce la somma dei numeri., The syntax of the SUM() function is as follows:

1
SUM( DISTINCT | ALL numeric_expression)

Unlike other SQL aggregate functions, the SUM() function accepts only the expression that evaluates to numerical values.,

È possibile specificare il modificatore ALL o DISTINCT nella funzione SUM().

  • Il modificatoreDISTINCT indica alla funzioneSUM() di calcolare il totale di valori distinti, il che significa che i duplicati vengono eliminati.
  • Il modificatoreALL consente alla funzioneSUM() di restituire la somma di tutti i valori inclusi i duplicati., La funzioneSUM() utilizza il modificatoreALL per impostazione predefinita se non si specifica esplicitamente alcun modificatore.

SQL SUM function examples

Useremo la tabellaproducts per i nostri esempi nelle sezioni seguenti.,in conjunction with a GROUP BY clause as the following query:

1
2
3
4
5

SELECT
supplierid, SUM(unitsinstock)
FROM
products
GROUP BY supplierid;

The GROUP BY clause groups the products by suppliers., Per ogni gruppo, la funzione SUM() calcola la somma delle unità in magazzino.,div>

2
3
4
5
6

SELEZIONA
idfornitore, SUM(scorte)
DA
prodotti
GROUP BY idfornitore
HAVING SUM(scorte) < 50;

Se si utilizza un alias di colonna per l’espressione che contiene il SUM() la funzione è possibile consultare l’alias HAVING clausola anziché l’espressione., Ciò consente di risparmiare tempo digitando la stessa espressione due volte. Inoltre, quando cambi l’espressione, devi cambiarla in un solo posto.

La seguente query produce lo stesso risultato della query precedente.,v>

Advanced SQL SUM function examples

You can use the SUM function to answer more challenging business questions such as get top 5 customers by sales as the following query:

1
2
3
4
5
6
7
8
9
10
11
12
13

SELECT
customers.,customerid,
nome azienda,
(SUM(unitprice * quantity) – SUM(unitprice * quantity) * discount) COME totale
DA
orderdetails
INNER JOIN
ordini SU ordini.orderid = orderdetails.orderid
INNER JOIN
clienti SUI clienti.customerid = ordini.customerid
GRUPPO PER clienti.customerid
ORDINA PER total DESC
LIMIT 5

Usiamo la clausola LIMIT per ottenere solo 5 righe dal set di risultati., Sia MySQL che PostgreSQL supportano la clausolaLIMIT . In Microsoft SQL Server, è possibile utilizzare il SELECT TOP come mostrato nella seguente query per ottenere lo stesso risultato:

1
2
3
4
5
6
7
8
9
10
11
12

SELECT TOP 5
clienti.,customerid,
nome azienda,
(SUM(unitprice * quantity) – SUM(unitprice * quantity) * discount) COME totale
DA
orderdetails
INNER JOIN
ordini SU ordini.orderid = orderdetails.orderid
INNER JOIN
clienti SUI clienti.customerid = ordini.customerid
GRUPPO PER clienti.,customerid
ORDINE totale DESC;

La seguente query utilizza il SUM() funzione per ottenere i 5 prodotti più venduti:

1
2
3
4
5
6
7
8
9
10
11

SELEZIONA
p.idprodotto,
p.,productname,
(SOMMA(o.prezzo unitario * quantità) – SOMMA(o.prezzo unitario * quantità) * sconto) totale
DA
orderdetails o
INNER JOIN
prodotti p: p.productid = o.idprodotto
GROUP BY p.idprodotto
ORDINE totale DESC
LIMITE di 5;

In questo tutorial, vi abbiamo mostrato come utilizzare SQL SUM funzione per calcolare la somma dei valori.

  • Questo tutorial è stato utile ?,

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *