Fungsi rank
jendela peringkat
Berlaku untuk: Databricks SQL Databricks Runtime
Mengembalikan peringkat nilai dibandingkan dengan semua nilai di partisi.
Sintaks
rank()
Argumen
Fungsi ini tidak membutuhkan argumen.
Kembali
Sebuah INTEGER
.
Klausul OVER
dari fungsi jendela harus menyertakan klausul 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