-3

假设我正在寻找构建以下数据透视表:

// count by age

 age     male     female
 1-25    18       23         
 26-100  19       10

为此,我可以像这样进行基本聚合:

SELECT age, gender, count(*) GROUP BY age, gender

并得到如下结果:

gender   age    count
male     1-25   18    
male     26-100 19    
male     1-25   23    
male     26-100 10

然后我可以在 BigQuery/SQL 之外“构建结果”(例如在 javascript 甚至 pandas 中)以获得旋转结果。

但是,当这些值不能简单地“加起来”或以某种直接的方式计算时,我会遇到麻烦。例如:

// distinct users by country

country    male       female
us         192,293    64,000
jp         1,203,203  1,000,000

有没有办法在 BigQuery 中获取一个值,以便我们可以在 BigQuery 之外进行此计算?我已经在此处发布了一个先前的问题,您似乎无法使用HLL_COUNT,因为它在外部不可用。[或者是否有其他类型的算法可以用于构建某种可以在 SQL 之外合并的独特草图?]。

或者是否有另一种方法来构建我缺少的数据透视结果(BigQuery 之外)?

更新:上面的例子更多地给出了这个问题的概述。实际的数据透视查询是这样的:在 X 轴和 Y 轴上获取顶级专利国家、BQ 公共数据集中的代码。

4

1 回答 1

1

我不明白。为什么不在 BigQuery 中执行此操作

SELECT age,
       COUNTIF( gender = 'male' ) as males,
       COUNTIF( gender = 'female' ) as females
GROUP BY age;
于 2019-05-27T13:11:45.883 回答