Sdílet prostřednictvím


dense_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

dense_rank()

Argumenty

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

Návraty

Celé číslo.

Klauzule OVER funkce okna musí obsahovat klauzuli ORDER BY. Na rozdíl od funkce pořadí nebude dense_rank vytvářet mezery v pořadí řazení. Na rozdíl od funkce okna řazení row_number dense_rank nezalomí vazby. Pokud pořadí není jedinečné, duplikáty sdílejí stejnou relativní pozdě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