AVGfunzione window - 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 window

La funzione AVG window 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 ( [ALL ] expression ) OVER ( [ PARTITION BY expr_list ] [ ORDER BY order_list frame_clause ] )

Argomenti

expression

L'espressione o colonna di destinazione su cui viene eseguita la funzione.

ALL

Con l'argomentoALL, la funzione conserva tutti i valori duplicati dell'espressione per il conteggio. ALLè l'impostazione predefinita. DISTINCT non è supportato.

OVER

Specifica le clausole finestra per le funzioni di aggregazione. La OVER clausola distingue le funzioni di aggregazione delle finestre dalle normali funzioni di aggregazione degli insiemi.

PARTITIONDI expr_list

Definisce la finestra per la AVG funzione in termini di una o più espressioni.

ORDERDI order_list

Ordina le righe all'interno di ogni partizione. Se non viene specificato alcun PARTITION BY, ORDER BY utilizza l'intera tabella.

frame_clause

Se viene utilizzata una clausola ORDER BY per una funzione aggregata, è necessaria una clausola frame esplicita. La clausola frame raffina l'insieme di righe in una finestra della funzione, includendo o escludendo insieme di righe all'interno del risultato ordinato. La clausola frame è composta dalla parola chiave e dagli specificatori associatiROWS. Per informazioni, consultare Riepilogo della sintassi della funzione finestra.

Tipi di dati

I tipi di argomento supportati dalla AVG funzione sonoSMALLINT,,INTEGER,, BIGINT NUMERICDECIMAL, REAL e. DOUBLE PRECISION

I tipi di ritorno supportati dalla AVG funzione sono:

  • BIGINTper i SMALLINT nostri INTEGER argomenti

  • NUMERICper BIGINT argomenti

  • DOUBLEPRECISIONper argomenti in virgola mobile

Esempi

Nel seguente esempio viene calcolata una media mobile delle quantità vendute per data; i risultati sono ordinati per ID data e ID vendite:

select salesid, dateid, sellerid, qty, avg(qty) over (order by dateid, salesid rows unbounded preceding) as avg from winsales order by 2,1; salesid | dateid | sellerid | qty | avg ---------+------------+----------+-----+----- 30001 | 2003-08-02 | 3 | 10 | 10 10001 | 2003-12-24 | 1 | 10 | 10 10005 | 2003-12-24 | 1 | 30 | 16 40001 | 2004-01-09 | 4 | 40 | 22 10006 | 2004-01-18 | 1 | 10 | 20 20001 | 2004-02-12 | 2 | 20 | 20 40005 | 2004-02-12 | 4 | 10 | 18 20002 | 2004-02-16 | 2 | 20 | 18 30003 | 2004-04-18 | 3 | 15 | 18 30004 | 2004-04-18 | 3 | 20 | 18 30007 | 2004-09-07 | 3 | 30 | 19 (11 rows)

Per una descrizione della WINSALES tabella, vedereTabella di esempio per gli esempi della funzione finestra.