根据bigquery查询引用,当前Quantiles不允许通过另一列进行任何分组。我主要感兴趣的是让中位数按特定列分组。我现在看到的唯一解决方法是为每个不同的组成员生成分位数查询,其中组成员是where子句中的条件。

例如,如果要获得所需的结果,可对y列中的每个不同行使用以下查询。

SELECT QUANTILE( <column-x>, 1001)
FROM <table>
WHERE
    <column-y> == <each distinct row in column-y>
  • 大型查询团队是否计划在将来提供一些功能以允许对分位数进行分组?
  • 是否有更好的方法来获取我想要到达的东西?

  • 谢谢

    最佳答案

    尽管有有效的算法来计算分位数,但它们在内存上却有些占用空间-尝试在单个查询中进行多个分位数计算会变得很昂贵。

  • 有计划改善QUANTILES,但我不知道时间表是什么。
  • 您需要中位数吗?您可以过滤异常值,并对剩余值求平均值吗?
  • 10-01 00:48