Google bigquery 什么';对于bigquery,按百分比获取行ID的最佳方法是什么?

Google bigquery 什么';对于bigquery,按百分比获取行ID的最佳方法是什么?,google-bigquery,Google Bigquery,我正在BigQuery中使用维基百科的公共数据集。我试图找到维基百科文章的ID,这些文章的字符数排在第75、80、85和90百分位 我现在知道了返回分位数的分位数函数,但如何检索所有ID?如何: SELECT a.id FROM [publicdata:samples.wikipedia] a CROSS JOIN ( SELECT NTH(75, QUANTILES(num_characters, 100)) amin, NTH(76, QUANTILES(num_characters,

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

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

如何:

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;
选择一个id
来自[publicdata:samples.wikipedia]a
交叉连接(
选择第n个(75个,分位数(num_字符,100))amin,第n个(76个,分位数(num_字符,100))amax
来自[publicdata:samples.wikipedia])b
其中a.num_characters>b.amin和a.num_characters
你对第76、86等百分位数的ID做了什么?您应该能够根据自己的具体需要调整上一个查询


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

我了解您编写的查询是如何进行的。但是对于交叉连接的select,第一部分应该是n(75,分位数(num_字符,100))吗?