Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
La funzione AVG restituisce la media (media aritmetica) dei valori di espressione di input. La funzione AVG funziona con i valori numerici e ignora i valori NULL.
Sintassi
AVG ( [ DISTINCT | ALL ] expression )
Argomenti
- expression
-
L'espressione o colonna di destinazione su cui viene eseguita la funzione. L'espressione è uno dei seguenti tipi di dati:
SMALLINT
INTEGER
BIGINT
NUMERIC
DECIMAL
REAL
DOUBLE PRECISON
SUPER
- DISTINCT | ALL
-
Con l'argomento DISTINCT, la funzione elimina tutti i valori duplicati dall'espressione specificata prima di calcolare la media. Con l'argomento ALL, la funzione mantiene tutti i valori duplicati dall'espressione per calcolare la media. ALL è il valore predefinito.
Tipi di dati
I tipi di argomenti supportati dalla funzione AVG sono SMALLINT, INTEGER, BIGINT, NUMERIC, DECIMAL, REAL, DOUBLE PRECISION e SUPER.
I tipi di restituzione supportati dalla funzione AVG sono:
-
BIGINT per qualsiasi argomento di tipo integer
-
DOUBLE PRECISION per un argomento del numero in virgola mobile
Restituisce lo stesso tipo di dati come espressione per qualsiasi altro tipo di argomento.
La precisione di default per un risultato della funzione AVG con un argomento NUMERIC o DECIMAL è 38. Il ridimensionamento del risultato coincide con il ridimensionamento dell'argomento. Ad esempio, un AVG di una colonna DEC(5,2) restituisce un tipo di dati DEC(38,2).
Esempi
Trovare la quantità media venduta per transazione dalla tabella SALES:
select avg(qtysold)from sales;
avg
-----
2
(1 row)
Trovare il prezzo totale medio elencato per tutti gli elenchi:
select avg(numtickets*priceperticket) as avg_total_price from listing;
avg_total_price
-----------------
3034.41
(1 row)
Trovare il prezzo medio pagato, raggruppato per mese in ordine decrescente:
select avg(pricepaid) as avg_price, month
from sales, date
where sales.dateid = date.dateid
group by month
order by avg_price desc;
avg_price | month
-----------+-------
659.34 | MAR
655.06 | APR
645.82 | JAN
643.10 | MAY
642.72 | JUN
642.37 | SEP
640.72 | OCT
640.57 | DEC
635.34 | JUL
635.24 | FEB
634.24 | NOV
632.78 | AUG
(12 rows)