Google bigquery BigQuery中百分位数的计算

Google bigquery BigQuery中百分位数的计算,google-bigquery,google-cloud-platform,percentile,bigquery-standard-sql,Google Bigquery,Google Cloud Platform,Percentile,Bigquery Standard Sql,我使用的是BigQuery,我需要计算数据集列的第25、50和75个百分位 例如,如何使用BigQuery和标准SQL获取上述数字。我已经研究了百分比秩、秩和整数函数,但我似乎无法破解它 这里有一些代码可以指导我 谢谢你的帮助 标准SQL中的签出函数。如果你要100个分位数,你会得到百分位数。因此,查询将如下所示: SELECT percentiles[offset(25)], percentiles[offset(50)], percentiles[offset(75)] FROM (SELE

我使用的是BigQuery,我需要计算数据集列的第25、50和75个百分位

例如,如何使用BigQuery和标准SQL获取上述数字。我已经研究了百分比秩、秩和整数函数,但我似乎无法破解它

这里有一些代码可以指导我

谢谢你的帮助

标准SQL中的签出函数。如果你要100个分位数,你会得到百分位数。因此,查询将如下所示:

SELECT percentiles[offset(25)], percentiles[offset(50)], percentiles[offset(75)]
FROM (SELECT APPROX_QUANTILES(column, 100) percentiles FROM Table)

如果近似聚合不适用于您,您可能希望使用PERCENTILE_CONT函数(尽管它会占用更多内存,因此可能无法处理海量数据),例如,以下示例来自


您可以使用下面的代码获得细粒度百分位分析

  SELECT
  offset + 1 AS percentile,
  value AS percentile_value,
  FROM UNNEST(( 
    SELECT 
      APPROX_QUANTILES(value, 100) as percentile_value,
    FROM data_set
  )) AS percentile_value  WITH OFFSET as offset

然后,您可以根据需要获取任何百分比。

当您说“这里有一些代码可以指导我”时,您是否打算包含一些示例代码?是否有方法获取准确的百分比值?看起来近似分位数的聚合是近似的。。。
  SELECT
  offset + 1 AS percentile,
  value AS percentile_value,
  FROM UNNEST(( 
    SELECT 
      APPROX_QUANTILES(value, 100) as percentile_value,
    FROM data_set
  )) AS percentile_value  WITH OFFSET as offset