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
| Parameter | Type | Required | Description |
|---|---|---|---|
value | T | Yes | The value to categorize into a bucket |
min_value | T | Yes | Minimum value of the range |
max_value | T | Yes | Maximum value of the range |
num_buckets | BIGINT | Yes | Number 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 BIGINT | f2 BIGINT | f3 BIGINT | f4 BIGINT |
|---|---|---|---|
| 0 | 2 | 6 | 11 |
On this page