WIDTH_BUCKET_REGULAR()

All functions > MATH > WIDTH_BUCKET_REGULAR()

Returns the bucket number for a value in equally-spaced buckets within a range.

Signatures

Regular bins

Returns: Bucket number (1-based)

WIDTH_BUCKET_REGULAR(value: T, min_value: T, max_value: T, num_buckets: BIGINT) → BIGINT
sql
ParameterTypeRequiredDescription
valueTYesValue to categorize
min_valueTYesMinimum of the range
max_valueTYesMaximum of the range
num_bucketsBIGINTYesNumber of equal-width buckets

With:

  • T : Floating-point type (FLOAT, DOUBLE)

Signature notes:

  • Creates num_buckets equal-width intervals between min_value and max_value
  • Returns 0 if value < min_value
  • Returns num_buckets + 1 if value >= max_value
  • Returns NULL if value is NULL

Availability

Available on Trino. Not available on DuckDB, Serving.

Examples

FeatureQL
SELECT
    -- Below range
    f1 := WIDTH_BUCKET_REGULAR(-5e0, 0e0, 100e0, 10),
    -- Bucket 2
    f2 := WIDTH_BUCKET_REGULAR(15e0, 0e0, 100e0, 10),
    -- Bucket 6
    f3 := WIDTH_BUCKET_REGULAR(55e0, 0e0, 100e0, 10),
    -- Above range
    f4 := WIDTH_BUCKET_REGULAR(105e0, 0e0, 100e0, 10)
;
Result
f1 BIGINTf2 BIGINTf3 BIGINTf4 BIGINT
02611