AVGfunzione - Amazon Redshift

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à.

AVGfunzione

La AVG funzione restituisce la media (media aritmetica) dei valori delle espressioni di input. La AVG funzione funziona con 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'argomentoDISTINCT, la funzione elimina tutti i valori duplicati dall'espressione specificata prima di calcolare la media. Con l'argomentoALL, la funzione conserva tutti i valori duplicati dell'espressione per il calcolo della media. ALLè l'impostazione predefinita.

Tipi di dati

I tipi di argomento supportati dalla AVG funzione sono SMALLINTINTEGER,BIGINT,NUMERIC,DECIMAL,REAL, DOUBLEPRECISION, eSUPER.

I tipi di ritorno supportati dalla AVG funzione sono:

  • BIGINTper qualsiasi argomento di tipo intero

  • DOUBLEPRECISIONper un argomento in virgola mobile

  • Restituisce lo stesso tipo di dati come espressione per qualsiasi altro tipo di argomento.

La precisione predefinita per il risultato di una AVG funzione con DECIMAL argomento NUMERIC or è 38. Il ridimensionamento del risultato coincide con il ridimensionamento dell'argomento. Ad esempio, una colonna AVG di DEC (5,2) restituisce un tipo di dati DEC (38,2).

Esempi

Trova la quantità media venduta per transazione dalla SALES tabella:

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)