使用线性插值计算 value_expression 的指定百分位值。
如果不存在 RESPECT NULLS,此函数会忽略 NULL 值。如果存在 RESPECT NULLS:
- 两个 NULL 值之间的插值返回 NULL。
- 一个 NULL 值与一个非 NULL 值之间的插值返回非 NULL 值。
以下示例计算一个值列中的某些百分位值,同时忽略 null。
SELECT
PERCENTILE_CONT(x, 0) OVER() AS min,
PERCENTILE_CONT(x, 0.01) OVER() AS percentile1,
PERCENTILE_CONT(x, 0.5) OVER() AS median,
PERCENTILE_CONT(x, 0.9) OVER() AS percentile90,
PERCENTILE_CONT(x, 1) OVER() AS max
FROM UNNEST([0, 3, NULL, 1, 2]) AS x LIMIT 1;
min | percentile1 | median | percentile90 | max |
---|---|---|---|---|
0 | 0.03 | 1.5 | 2.7 | 3 |