width_bucket
函数
适用于: Databricks SQL Databricks Runtime
返回等宽直方图中某个值的 Bucket 编号。
语法
width_bucket(expr, minExpr, maxExpr, numBuckets)
参数
expr
:要设置 Bucket 的数值或间隔表达式。minExpr
:数值或间隔表达式,提供 Bucket 的下边界。maxExpr
:数值或间隔表达式,提供 Bucket 的上边界。numBuckets
:大于 0 的 INTEGER 表达式,指定 Bucket 数。
如果 expr
是数值,则 minExpr
和 maxExpr
也必须是数值。
如果 expr
是一个间隔,则 minExpr
和 maxExpr
必须是相同的间隔类型。
从 Databricks Runtime 10.1 开始支持间隔
返回
一个 INTEGER。
该函数将 minExpr
和 maxExpr
之间的范围分割为大小相等的 numBuckets
切片。
结果为 expr
落在其中的切片。
如果 expr
在 minExpr
之外,则结果为 0。
如果 expr
在 maxExpr
之外,则结果为 numbuckets + 1
minExpr
可以大于 maxExpr
。
示例
> SELECT width_bucket(5.3, 0.2, 10.6, 5);
3
> SELECT width_bucket(-2.1, 1.3, 3.4, 3);
0
> SELECT width_bucket(8.1, 0.0, 5.7, 4);
5
> SELECT width_bucket(-0.9, 5.2, 0.5, 2);
3
> SELECT width_bucket(INTERVAL '1' DAY, INTERVAL '0' DAY, INTERVAL '10' DAY, 11);
2