urd*_*boy 1 sql group-by presto
根据Presto 文档:
approx_percentile(x, 百分比) ? array<[same as x]>
返回每个指定百分比处 x 的所有输入值的近似百分位数。百分比数组的每个元素必须介于 0 和 1 之间,并且对于所有输入行,数组必须是常量。
我想amount在 25th、50th、75th 和 95th 百分位数处找到相关值,假设输出是一个数组,但无法弄清楚如何将这些值提供给函数(除了提供一个值)。
我尝试了我习惯看到的各种表示法,但我一直返回错误。如何输入多个值以获得数组输出?
APPROX_PERCENTILE(amount, .25, .50, .75, .95)
APPROX_PERCENTILE(amount, (.25, .50, .75, .95))
APPROX_PERCENTILE(amount, {.25, .50, .75, .95})
APPROX_PERCENTILE(amount, [.25, .50, .75, .95]) '<--- I assumed this was the proper way
APPROX_PERCENTILE(amount, <[.25, .50, .75, .95]>)
APPROX_PERCENTILE(amount, <.25, .50, .75, .95>)
Run Code Online (Sandbox Code Playgroud)
刚刚想通了 - 输入数组作为函数参数的正确方法是:
APPROX_PERCENTILE(amount, ARRAY[0.25, 0.50, 0.75, 0.95])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
784 次 |
| 最近记录: |