1
使用传统SQL的BigQuery具有相当方便的QUANTILES
函数,可以快速获取表格中值的直方图,而无需手动指定存储区。BigQuery中的分位数函数标准SQL
我在Standard SQL中找不到合适的聚合函数。我是否错过了明显的东西,或者其他方式,模拟它的标准方式是什么?
使用传统SQL的BigQuery具有相当方便的QUANTILES
函数,可以快速获取表格中值的直方图,而无需手动指定存储区。BigQuery中的分位数函数标准SQL
我在Standard SQL中找不到合适的聚合函数。我是否错过了明显的东西,或者其他方式,模拟它的标准方式是什么?
您正在寻找的APPROX_QUANTILES
function :)其中一个例子从文档是:
#standardSQL
SELECT APPROX_QUANTILES(x, 2) AS approx_quantiles
FROM UNNEST([NULL, NULL, 1, 1, 1, 4, 5, 6, 7, 8, 9, 10]) AS x;
+------------------+
| approx_quantiles |
+------------------+
| [1, 5, 10] |
+------------------+
注意,它返回一个数组,但如果你想数组作为各行的元素,可以打印结果:
#standardSQL
SELECT
quant, offset
FROM UNNEST((
SELECT APPROX_QUANTILES(x, 2) AS quants
FROM UNNEST([NULL, NULL, 1, 1, 1, 4, 5, 6, 7, 8, 9, 10]) AS x
)) AS quant WITH OFFSET
ORDER BY offset;