假设我要构建以下数据透视表:
// 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甚至是熊猫中)“构建结果”,以获取关键的结果。
但是,当无法简单地将这些值“累加”或以某种简单的方式进行计算时,我就会遇到麻烦。例如:
// distinct users by country
country male female
us 192,293 64,000
jp 1,203,203 1,000,000
是否可以在BigQuery中获取值,以便我们可以在BigQuery之外进行此计算?我在这里对此发布了一个先前的问题,在这里您似乎无法使用HLL_COUNT
,因为它不是available outside。 [或者是否有其他类型的算法可用于构建某种可以在SQL外部合并的独特草图?]。
或者我还缺少另一种构建枢纽结果的方法(BigQuery之外)?
更新:以上示例旨在更全面地说明问题。实际的数据透视查询将像这样:Get the top patent countries, codes in a BQ public dataset,同时在X和Y轴上显示。
答案 0 :(得分:1)
我不明白。为什么不在内部 BigQuery中?
SELECT age,
COUNTIF( gender = 'male' ) as males,
COUNTIF( gender = 'female' ) as females
GROUP BY age;