一尘不染

使用Google BigQuery建立直方图

sql

如何编写一个使直方图图形呈现更加容易的查询?

例如,我们有1亿人口,我们希望绘制0-10、11-20、21-30等年龄的直方图/存储桶…查询看起来像什么?

有人做过吗?您是否尝试将查询结果连接到Google电子表格以绘制直方图?


阅读 109

收藏
2021-03-10

共1个答案

一尘不染


子查询的想法和“ CASE WHEN”一样有效,然后按以下方式进行分组:

SELECT SUM(field1), bucket 
FROM (
    SELECT field1, CASE WHEN age >=  0 AND age < 10 THEN 1
                        WHEN age >= 10 AND age < 20 THEN 2
                        WHEN age >= 20 AND age < 30 THEN 3
                        ...
                        ELSE -1 END as bucket
    FROM table1) 
GROUP BY bucket

或者,如果存储桶是规则的,则可以将它们除并转换为整数:

SELECT SUM(field1), bucket 
FROM (
    SELECT field1, INTEGER(age / 10) as bucket FROM table1)
GROUP BY bucket
2021-03-10