ntile 排名窗口函数

适用于:check marked yes Databricks SQL check marked yes Databricks Runtime

将每个窗口分区的行分割为从 1 到至多 n 的 n 个桶。

语法

ntile([n])

参数

  • n:大于 0 的可选整数文本。

返回

一个整数。

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