La funzione SQL AVG() è usata per de­ter­mi­na­re la media dei valori di una colonna. Può essere estesa e impiegata in altre azioni, ignorando i valori NULL.

Cos’è SQL AVG()?

La funzione SQL AVG() è usata nello Struc­tu­red Query Language per de­ter­mi­na­re la media dei valori di una colonna. Per l’in­ter­ro­ga­zio­ne si utilizza il comando SQL SELECT. Questa funzione risulta quindi par­ti­co­lar­men­te preziosa so­prat­tut­to per creare bilanci, analisi, calcoli di prezzi e per molti altri campi, perché con il calcolo dei valori medi si ottiene una visione d’insieme chiara in modo semplice e rapido. Bisogna però tenere presente che i valori NULL non vengono con­si­de­ra­ti dalla funzione, ri­sul­tan­do quindi esclusi dal calcolo.

Server virtuali (VPS)
Affidati ai VPS e server di IONOS, il tuo partner digitale cer­ti­fi­ca­to ISO
  • 1 Gbps di larghezza di banda e traffico il­li­mi­ta­to
  • Di­spo­ni­bi­li­tà del 99,99% e cer­ti­fi­ca­zio­ne ISO
  • As­si­sten­za 24/7 e con­su­len­te personale

Sintassi e fun­zio­na­men­to

La sintassi di base della funzione, che è molto semplice e contiene solo pochi parametri, si presenta come segue:

SELECT AVG(nome_della_colonna)
FROM nome_della_tabella;
sql

In questo caso avvii soltanto la ge­ne­ra­zio­ne del valore medio con SELECT e la funzione. Con FROM spe­ci­fi­chi la tabella da con­si­de­ra­re.

Se vuoi usare la funzione SQL AVG() in modo ancora più preciso puoi ricorrere alla con­di­zio­ne WHERE. La sintassi è la seguente:

SELECT AVG(nome_della_colonna)
FROM nome_della_tabella
WHERE requisito;
sql

Puoi anche elencare più requisiti.

Esempi di fun­zio­na­men­to di SQL AVG()

Per com­pren­de­re al meglio come funziona SQL AVG() esa­mi­nia­mo un’ap­pli­ca­zio­ne concreta. Prendiamo una tabella de­no­mi­na­ta “Lista clienti”. In questa tabella inseriamo tutti i clienti, il ri­spet­ti­vo numero cliente, la località, il numero dei prodotti ac­qui­sta­ti e l’importo totale in euro per un de­ter­mi­na­to periodo. La tabella si presenta come segue:

Numero cliente Nome Località Articoli Importo totale
1427 Russo Roma 14 634
1377 Rossi Milano 9 220
1212 Bianchi Milano 15 619
1431 Mancini Palermo 22 912
1118 Innocenti Firenze 10 312

Ora con la funzione puoi de­ter­mi­na­re, ad esempio, quanto hanno pagato in media questi clienti. Il comando è il seguente:

SELECT AVG(importo totale)
FROM lista clienti;
sql

Il risultato sarà:

Importo totale
539,4

Se invece vuoi de­ter­mi­na­re quanti articoli hanno ordinato in media i clienti, il principio di fun­zio­na­men­to è analogo:

SELECT AVG(articoli)
FROM lista clienti;
sql

Il risultato è:

Articoli
14

La funzione in com­bi­na­zio­ne con WHERE

Come già men­zio­na­to, la funzione può essere estesa con una o più con­di­zio­ni per ottenere risultati ancora più specifici. Qui cal­co­lia­mo ad esempio il fatturato medio di tutti i clienti di Milano:

SELECT AVG(importo totale)
FROM lista clienti
WHERE località = 'Milano';
sql

Otteniamo il risultato seguente:

Importo totale
419,5

Com­bi­na­zio­ne con altri parametri

È anche possibile combinare la funzione con altri parametri. Nell’esempio che segue vi­sua­liz­zia­mo quindi tutti i clienti con una spesa sopra la media. Il codice si presenta come segue:

SELECT numero cliente, nome, località, articoli, importo totale
FROM lista clienti
WHERE importo totale > (SELECT AVG(importo totale) FROM lista clienti);
sql

Sarà quindi vi­sua­liz­za­to:

Numero cliente Nome Località Articoli Importo totale
1427 Russo Roma 14 634
1212 Bianchi Milano 15 619
1431 Mancini Palermo 22 912

Altre funzioni simili a SQL AVG()

Oltre a SQL AVG(), il lin­guag­gio conosce altre funzioni con cui puoi calcolare fa­cil­men­te de­ter­mi­na­ti valori. Se ad esempio vuoi de­ter­mi­na­re la somma di tutti i valori numerici all’interno di una colonna, SUM() è la scelta giusta. Per rilevare quante righe sod­di­sfa­no una de­ter­mi­na­ta con­di­zio­ne, scegli la funzione COUNT().

Consiglio

La migliore soluzione per il tuo database: con l’hosting SQL Server di IONOS puoi scegliere tra MSSQL, MySQL o MariaDB e ap­pro­fit­ta­re di una con­su­len­za per­so­na­liz­za­ta, una solida ar­chi­tet­tu­ra di sicurezza e una soluzione su misura per le tue esigenze!

Vai al menu prin­ci­pa­le