fungsi jendela peringkat rank

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime

Mengembalikan peringkat nilai dibandingkan dengan semua nilai dalam partisi.

Sintaks

rank()

Argumen

Fungsi ini tidak membutuhkan argumen.

Pengembalian

Sebuah INTEGER.

Klausa OVER fungsi jendela harus menyertakan klausa ORDER BY.

Berbeda dengan fungsi dense_rank, pangkat akan menghasilkan celah pada urutan peringkat. Tidak seperti row_number, pangkat tidak memutuskan hubungan.

Jika urutannya tidak unik, duplikatnya berbagi posisi sebelumnya yang relatif sama.

Contoh

> 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