大数据计算MaxCompute取分位数的函数percentile,看了下文档 求分位数的列只能是?[阿里云MaxCompute]

问题1:大数据计算MaxCompute取分位数的函数percentile,看了下文档 https://help.aliyun.com/zh/maxcompute/user-guide/percentile?spm=a2c4g.11186623.0.i2

求分位数的列只能是bigint类型吗?double类型可以不
问题2:话说为啥double类型的不支持呢?求解惑,比如1.5 2.3 5.8 这三个数,我取个0.5中位数,不就是2.3吗?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
1 条回复 A 作者 M 管理员
  1. 在MaxCompute中,使用percentile函数时,求分位数的列只能是数值类型的列。这是因为percentile函数用于计算数值列中的分位数值,而非数值列无法进行计算。

    以下是一些使用percentile函数的示例:

    -- 假设有一个表名为my_table,包含了一个数值列value-- 求value列的中位数(即50%分位数)SELECT percentile(value, 0.5) FROM my_table;-- 求value列的上四分位数(即75%分位数)SELECT percentile(value, 0.75) FROM my_table;

    在上述示例中,percentile函数的第一个参数是要计算分位数的数值列,第二个参数是对应的分位数值(介于0到1之间)。你可以根据需要将其替换为具体的数值或变量。

    请确保在使用percentile函数时,选择的列是数值类型,并且数据是有效的数值数据。如果选择的列不是数值类型,或者包含了非数值数据,则会导致计算失败或产生不准确的结果。