ClickHouse/docs/en/sql-reference/aggregate-functions/reference/quantilebfloat16.md
2021-07-29 18:20:55 +03:00

2.2 KiB

toc_priority
209

quantileBFloat16

Computes an approximate quantile of a sample consisting of bfloat16 numbers. bfloat16 is a floating-point data type with 1 sign bit, 8 exponent bits and 7 fraction bits. The function converts input values to 32-bit floats and takes the most significant 16 bits. Then it calculates bfloat16 quantile value and converts the result to a 64-bit float by appending zero bits. The function is a fast quantile estimator with a relative error no more than 0.390625%.

Syntax

quantileBFloat16[(level)](expr)

Alias: medianBFloat16

Arguments

Parameters

  • level — Level of quantile. Optional. Possible values are in the range from 0 to 1. Default value: 0.5. Float.

Returned value

  • Approximate quantile of the specified level.

Type: Float64.

Example

Input table has an integer and a float columns:

┌─a─┬─────b─┐
│ 1 │ 1.001 │
│ 2 │ 1.002 │
│ 3 │ 1.003 │
│ 4 │ 1.004 │
└───┴───────┘

Query to calculate 0.75-quantile (third quartile):

SELECT quantileBFloat16(0.75)(a), quantileBFloat16(0.75)(b) FROM example_table;

Result:

┌─quantileBFloat16(0.75)(a)─┬─quantileBFloat16(0.75)(b)─┐
│                         3 │                         1 │
└───────────────────────────┴───────────────────────────┘

Note that all floating point values in the example are truncated to 1.0 when converting to bfloat16.

See Also