在 bigquery 中按月显示数据

Posted

技术标签:

【中文标题】在 bigquery 中按月显示数据【英文标题】:display data month wise in bigquery 【发布时间】:2015-02-09 09:11:48 【问题描述】:
select date_add('2015-01-15',(7-dayofweek('2015-01-15')),"day"),
        date_add('2015-01-15',(14-dayofweek('2015-01-15')),"day")

这个查询的输出是

Row f0_ f1_  
1   2015-01-17 00:00:00 UTC 2015-01-24 00:00:00 UTC 

但我想将数据显示为

sno    date                      sum
1  2015-01-01 00:00:00 UTC        20(first month sum)
2 2015-02-01 00:00:00 UTC         30 (second month sum)

【问题讨论】:

meta.stackexchange.com/questions/22186/… 我得到了上述要求的答案。但我想用像 01 这样的字样打印月份 请任何人告诉我如何在单列中显示 01-2014 为 2014 年 1 月 在这个页面你会发现日期和时间函数cloud.google.com/bigquery/query-reference 【参考方案1】:

STRFTIME_UTC_USEC有丰富的日期格式,月份名称的代码是%b,即

select strftime_utc_usec(date_add('2015-01-15',
          (7-dayofweek('2015-01-15')),"day"), "%Y-%b-%e"),
       strftime_utc_usec(date_add('2015-01-15',
          (14-dayofweek('2015-01-15')),"day"), "%Y-%b-%e")

结果

Row f0_         f1_  
1   2015-Jan-17 2015-Jan-24 

【讨论】:

【参考方案2】:

作为附录,如果您想在多行中显示每个月的数据,您可以使用 GROUP BY。这里有一个例子:Using a timestamp function in a GROUP BY。

【讨论】:

以上是关于在 bigquery 中按月显示数据的主要内容,如果未能解决你的问题,请参考以下文章

如何在bigquery中按月/年汇总

如何在 BigQuery 中按外键分组?

unnest 是不是始终在 Bigquery 中按命中数的升序显示数据

SQL语言中按月查询

在R中按月对行求和

如何在 Pandas 中按月计算分类列?