dense_rank ранжирующая оконная функция

Область применения:проверка помечено да Databricks SQL проверка помечено да Databricks Runtime

Возвращает ранг значения по сравнению со всеми значениями в секции.

Синтаксис

dense_rank()

Аргументы

Эта функция не принимает аргументов.

Возвращает

ЦЕЛОЕ ЧИСЛО.

Предложение OVER функции window должно содержать предложение ORDER BY. В отличие от функции окна ранжирования ранга, 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