WIDTH_BUCKET_REGULAR

All functions > MATH > WIDTH_BUCKET_REGULAR

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

Signatures

Returns: Bucket number (1-based indexing)

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

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
  • Bucket width = (max_value - min_value) / num_buckets
  • Useful for creating regular histograms
  • Returns NULL if value is NULL

Examples

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

Last update at: 2026/03/03 16:47:38
Last updated: 2026-03-03 16:48:19