Поделиться через


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

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

Делит строки для каждого раздела окна на n групп от 1 до максимум n.

Синтаксис

ntile([n])

Аргументы

  • n: необязательный литерал INTEGER больше 0.

Возвраты

Значение INTEGER.

По умолчанию значение n равно 1. Если n больше, чем фактическое число или строки в окне, с этой функцией необходимо использовать предложение ORDER BY.

Если порядок не уникален, результат будет недетерминированным.

Примеры

> SELECT a, b, ntile(2) OVER (PARTITION BY a ORDER BY b) FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);
 A1 1   1
 A1 1   1
 A1 2   2
 A2 3   1