PERCENTILE_ função de DISC janela - AWS Clean Rooms

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

PERCENTILE_ função de DISC janela

PERCENTILE_ DISC é uma função de distribuição inversa que assume um modelo de distribuição discreto. Ela pega um valor percentil e uma especificação de classificação e retorna um elemento do conjunto fornecido.

Para um determinado valor percentual P, PERCENTILE _ DISC classifica os valores da expressão na cláusula ORDER BY e retorna o valor com o menor valor de distribuição cumulativa (com relação à mesma especificação de classificação) maior ou igual a P.

Você pode especificar somente a PARTITION cláusula na OVER cláusula.

PERCENTILE_ DISC é uma função somente do nó de computação. A função retornará um erro se a consulta não fizer referência a uma tabela definida pelo usuário ou tabela AWS Clean Rooms do sistema.

Sintaxe

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

Argumentos

percentil

Constante numérica entre 0 e 1. Nulls são ignorados no cálculo.

WITHINGROUP(ORDERPOR expr)

Especifica valores numéricos ou de data/hora para classificação e computação do percentil.

OVER

Especifica o particionamento da janela. A OVER cláusula não pode conter uma ordenação de janela ou uma especificação de moldura de janela.

PARTITIONPor expr

Argumento opcional que define o intervalo de registros para cada grupo na OVER cláusula.

Retornos

O mesmo tipo de dados da expressão ORDER BY na WITHIN GROUP cláusula.

Exemplos

Os exemplos a seguir usam a WINSALES tabela. Para uma descrição da tabela WINSALES, consulte Amostra de tabela para exemplos de funções de janela.

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)