Bagikan melalui


fungsi jendela peringkat row_number

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

Menetapkan angka unik dan berurutan untuk setiap baris, dimulai dengan satu, sesuai dengan urutan baris di partisi jendela.

Sintaks

row_number()

Argumen

Fungsi ini tidak mengambil argumen.

Pengembalian

Sebuah INTEGER.

Klausa OVER fungsi jendela harus menyertakan klausa ORDER BY. Tidak seperti rank dan dense_rank, row_number memisahkan urutan.

Jika urutannya tidak unik, hasilnya non-deterministik.

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