获取bigquery的百分位数获取行ID的最佳方法是什么?

时间:2014-02-27 06:10:26

标签: google-bigquery

我正在使用BigQuery中维基百科的公共数据集。我试图找到维基百科文章的ID,其中字符数排在第75,80,85和90百分位。

我现在知道返回分位数的QUANTILES函数,但是如何检索所有ID?

1 个答案:

答案 0 :(得分:1)

怎么样:

SELECT a.id 
FROM [publicdata:samples.wikipedia] a
CROSS JOIN (
 SELECT NTH(75, QUANTILES(num_characters, 100)) amin, NTH(76, QUANTILES(num_characters, 100)) amax
 FROM [publicdata:samples.wikipedia]) b
WHERE a.num_characters > b.amin AND a.num_characters < b.amax;

你对76号,86号等百分位数的ids做了什么?您应该能够根据您的具体需求调整先前的查询。

(为了提高效率,您应该将QUANTILES查询结果提取到一个新表而不是每次计算它 - 查询运行得更快,更便宜)