Compartilhar via


função de janela de classificação row_number

Aplica-se a: marca de seleção positiva SQL do Databricks verificação marcada como sim Runtime do Databricks

Atribui um número sequencial exclusivo a cada linha, começando com uma, de acordo com a ordenação de linhas dentro da partição da janela.

Sintaxe

row_number()

Argumentos

A função não usa argumentos.

Retornos

Um INTEGER.

A cláusula OVER da função de janela deve incluir uma cláusula ORDER BY. Ao contrário de rank e dense_rank, row_number desempata.

Se a ordem não for única, o resultado não será determinístico.

Exemplos

> SELECT a,
         b,
         dense_rank() OVER(PARTITION BY a ORDER BY b),
         rank() OVER(PARTITION BY a ORDER BY b),
         row_number() OVER(PARTITION BY a ORDER BY b)
    FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);
 A1 1   1   1   1
 A1 1   1   1   2
 A1 2   2   3   3
 A2 3   1   1   1