適用於:
Databricks SQL
Databricks Runtime
傳回某一值在該分割區所有值中的排名。
語法
dense_rank()
引數
這個函數沒有引數。
退貨
整數。
window 函式的 OVER 子句必須包含 ORDER BY 子句。
與函式 rank 排序視窗函數 不同,dense_rank 不會在排名序列中產生空檔。
與row_number 窗口函數排名不同,dense_rank 不會打破平手。
如果順序不是唯一的,重複項目會共用相同的相對日後位置。
範例
> 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