Funzione finestra PERCENTILE_DISC - AWS Clean Rooms

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

Funzione finestra PERCENTILE_DISC

PERCENTILE_DISC è una funzione di distribuzione inversa che presuppone un modello di distribuzione discreta. Prende un valore percentile e una specifica di ordinamento e restituisce un elemento dall'insieme specificato.

Per un dato valore percentile P, PERCENTILE_DISC ordina i valori dell'espressione nella clausola ORDER BY e restituisce il valore con il valore di distribuzione cumulativo più piccolo (rispetto alla stessa specifica di ordinamento) che è maggiore o uguale a P.

È possibile specificare solo la clausola PARTITION nella clausola OVER.

PERCENTILE_DISC è una funzione solo del nodo di calcolo. La funzione restituisce un errore se la query non fa riferimento a una tabella o a una tabella di sistema definita dall'utente. AWS Clean Rooms

Sintassi

PERCENTILE_DISC ( percentile ) WITHIN GROUP (ORDER BY expr) OVER ( [ PARTITION BY expr_list ] )

Argomenti

percentile

Costante numerica compresa tra 0 e 1. I valori null vengono ignorati nel calcolo.

WITHIN GROUP ( ORDER BY expr)

Specifica i valori numerici o di data/ora per ordinare e calcolare il percentile.

OVER

Specifica il partizionamento della finestra. La clausola OVER non può contenere una specifica del frame della finestra o dell'ordinamento della finestra.

PARTITION BY expr

Argomento facoltativo che imposta l'intervallo di registrazioni per ciascun gruppo nella clausola OVER.

Valori restituiti

Lo stesso tipo di dati dell'espressione ORDER BY nella clausola WITHIN GROUP.

Esempi

Gli esempi seguenti usano la tabella WINSALES. Per una descrizione della tabella WINSALES, consultare Tabella di esempio per gli esempi della funzione finestra.

select sellerid, qty, percentile_disc(0.5) within group (order by qty) over() as median from winsales; sellerid | qty | median ----------+-----+-------- 1 | 10 | 20 3 | 10 | 20 1 | 10 | 20 4 | 10 | 20 3 | 15 | 20 2 | 20 | 20 2 | 20 | 20 3 | 20 | 20 1 | 30 | 20 3 | 30 | 20 4 | 40 | 20 (11 rows)
select sellerid, qty, percentile_disc(0.5) within group (order by qty) over(partition by sellerid) as median from winsales; sellerid | qty | median ----------+-----+-------- 2 | 20 | 20 2 | 20 | 20 4 | 10 | 10 4 | 40 | 10 1 | 10 | 10 1 | 10 | 10 1 | 30 | 10 3 | 10 | 15 3 | 15 | 15 3 | 20 | 15 3 | 30 | 15 (11 rows)