Sdílet prostřednictvím


rank funkce okna řazení

Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime

Vrátí pořadí hodnoty ve srovnání se všemi hodnotami v oddílu.

Syntaxe

rank()

Argumenty

Tato funkce nepřijímá žádné argumenty.

Návraty

A INTEGER.

Klauzule OVER funkce okna musí obsahovat klauzuli ORDER BY.

Na rozdíl od funkce dense_rankbude pořadí vytvářet mezery v pořadí řazení. Na rozdíl od row_number, pořadí nerozlomí vazby.

Pokud pořadí není jedinečné, duplikáty sdílejí stejnou relativní dřívější pozici.

Příklady

> 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