Ранжирующая оконная функция dense_rank
Область применения: Databricks SQL Databricks Runtime
Возвращает ранг значения по сравнению со всеми значениями в разделе.
Синтаксис
dense_rank()
Аргументы
Эта функция не имеет аргументов.
Возвраты
Значение INTEGER.
Предложение 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