SQL AVG(): sintassi ed esempi di utilizzo della funzione
La funzione SQL AVG() è usata per determinare 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 Structured Query Language per determinare la media dei valori di una colonna. Per l’interrogazione si utilizza il comando SQL SELECT. Questa funzione risulta quindi particolarmente preziosa soprattutto 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 considerati dalla funzione, risultando quindi esclusi dal calcolo.
- Traffico illimitato e fino a 1 Gbit/s di larghezza di banda
- Storage SSD NVMe veloce
- Plesk Web Host Edition incluso
Sintassi e funzionamento
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;
sqlIn questo caso avvii soltanto la generazione del valore medio con SELECT e la funzione. Con FROM specifichi la tabella da considerare.
Se vuoi usare la funzione SQL AVG() in modo ancora più preciso puoi ricorrere alla condizione WHERE. La sintassi è la seguente:
SELECT AVG(nome_della_colonna)
FROM nome_della_tabella
WHERE requisito;
sqlPuoi anche elencare più requisiti.
Esempi di funzionamento di SQL AVG()
Per comprendere al meglio come funziona SQL AVG() esaminiamo un’applicazione concreta. Prendiamo una tabella denominata “Lista clienti”. In questa tabella inseriamo tutti i clienti, il rispettivo numero cliente, la località, il numero dei prodotti acquistati e l’importo totale in euro per un determinato 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 determinare, ad esempio, quanto hanno pagato in media questi clienti. Il comando è il seguente:
SELECT AVG(importo totale)
FROM lista clienti;
sqlIl risultato sarà:
Importo totale |
---|
539,4 |
Se invece vuoi determinare quanti articoli hanno ordinato in media i clienti, il principio di funzionamento è analogo:
SELECT AVG(articoli)
FROM lista clienti;
sqlIl risultato è:
Articoli |
---|
14 |
La funzione in combinazione con WHERE
Come già menzionato, la funzione può essere estesa con una o più condizioni per ottenere risultati ancora più specifici. Qui calcoliamo ad esempio il fatturato medio di tutti i clienti di Milano:
SELECT AVG(importo totale)
FROM lista clienti
WHERE località = 'Milano';
sqlOtteniamo il risultato seguente:
Importo totale |
---|
419,5 |
Combinazione con altri parametri
È anche possibile combinare la funzione con altri parametri. Nell’esempio che segue visualizziamo 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);
sqlSarà quindi visualizzato:
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 linguaggio conosce altre funzioni con cui puoi calcolare facilmente determinati valori. Se ad esempio vuoi determinare la somma di tutti i valori numerici all’interno di una colonna, SUM() è la scelta giusta. Per rilevare quante righe soddisfano una determinata condizione, scegli la funzione COUNT().
La migliore soluzione per il tuo database: con l’hosting SQL Server di IONOS puoi scegliere tra MSSQL, MySQL o MariaDB e approfittare di una consulenza personalizzata, una solida architettura di sicurezza e una soluzione su misura per le tue esigenze!