The width_bucket()
function distributes rows into n
groups where each represents a equal-width value range between a specified minimum and maximum.
SELECT width_bucket(x, 0, 1, 10) -- (input, min, max, n)
FROM …
The example returns an integer between from 0 to 11 by splitting the range 0 to 1 (min to max) into 10 equal parts (n). If x
falls into the range 0 to 1 it returns the group into which x
belongs. 0 or 11 are returned if x
is outside the range (below minimum or above maximum).
Related
Similar functions:
ntile()
Normative References
The width_bucket()
window function is defined in ISO/IEC 9075:2016-2 as part of optional feature T612.