quantileGK
分位数。
Greenwald-Khanna 算法是一种能够以极高效率计算数据流分位数的算法。
该算法由 Michael Greenwald 和 Sanjeev Khanna 于 2001 年提出。
它广泛应用于数据库和大数据系统,尤其适用于需要对大规模数据流进行实时精确分位数计算的场景。
该算法非常高效,每处理一个数据项仅需 O(log n) 空间和 O(log log n) 时间 (其中 n 为输入大小) 。
它也具有很高的准确性,能够以较高概率给出近似分位数值。
quantileGK 与 ClickHouse 中的其他分位数函数不同,因为它允许用户控制近似分位数结果的精度。
语法
medianGK
参数
accuracy— 分位数的精度。常量正整数。accuracy值越大,误差越小。例如,如果accuracy参数设置为 100,则计算出的分位数有很高概率将误差控制在 1% 以内。计算结果的精度与算法复杂度之间需要权衡。较大的accuracy需要更多内存和计算资源,才能更精确地计算分位数;较小的accuracy则计算更快、更节省内存,但精度会略低一些。UInt*level— 可选。分位数的级别。取值范围为 0 到 1 的常量浮点数。默认值:0.5。当level=0.5时,函数计算中位数。Float*
Float64 或 Date 或 DateTime
示例
计算不同精度级别的分位数
Query
Response
Query
Response