Função de janela PERCENT_RANK - Amazon Redshift

Função de janela PERCENT_RANK

Calcula a classificação percentual de dada linha. A classificação percentual é determinada usando esta fórmula:

(x - 1) / (the number of rows in the window or partition - 1)

onde x é a classificação da linha atual. O seguinte conjunto de dados ilustra O uso desta fórmula:

Row# Value Rank Calculation PERCENT_RANK 1 15 1 (1-1)/(7-1) 0.0000 2 20 2 (2-1)/(7-1) 0.1666 3 20 2 (2-1)/(7-1) 0.1666 4 20 2 (2-1)/(7-1) 0.1666 5 30 5 (5-1)/(7-1) 0.6666 6 30 5 (5-1)/(7-1) 0.6666 7 40 7 (7-1)/(7-1) 1.0000

O intervalo de valor de retorno é 0 a 1, inclusive. A primeira linha em qualquer conjunto tem um PERCENT_RANK de 0.

Sintaxe

PERCENT_RANK () OVER ( [ PARTITION BY partition_expression ] [ ORDER BY order_list ] )

Argumentos

( )

A função não aceita argumentos, mas os parênteses vazios são necessários.

OVER

Uma cláusula que especifica o particionamento da janela. A cláusula OVER não pode conter uma especificação de quadro da janela.

PARTITION BY partition_expression

Opcional. Uma expressão que define o intervalo de registros para cada grupo na cláusula OVER.

ORDER BY order_list

Opcional. A expressão na qual calcular a classificação percentual. A expressão deve ter um tipo de dados numérico ou ser implicitamente conversível para um. Se ORDER BY for omitida, o valor de retorno será 0 para todas as linhas.

Se ORDER BY não produzir uma ordenação exclusiva, a ordem das linhas será não determinística. Para obter mais informações, consulte Ordenação exclusiva de dados para funções da janela.

Tipo de retorno

FLOAT8

Exemplos

O seguinte exemplo calcula a classificação percentual das quantidades de vendas para cada vendedor:

select sellerid, qty, percent_rank() over (partition by sellerid order by qty) from winsales; sellerid qty percent_rank ---------------------------------------- 1 10.00 0.0 1 10.64 0.5 1 30.37 1.0 3 10.04 0.0 3 15.15 0.33 3 20.75 0.67 3 30.55 1.0 2 20.09 0.0 2 20.12 1.0 4 10.12 0.0 4 40.23 1.0

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