在BigQuery中按周分解的最佳方法

时间:2016-05-02 17:17:04

标签: sql google-bigquery bigdata

所以我要做的就是创建一份报告,显示公司每周的销售额。

所以我们有一个名为created的时间字段,如下所示:

2016-04-06 20:58:06 UTC

此字段表示销售的时间。

现在假设我想创建一份报告,告诉您每周的销售量。所以上面的例子将属于" 2016-04-03周和#34; (它没有必要确切地说,我只是采取最简单的方式来做到这一点)

有人有什么建议吗?我想它涉及使用UTEC_TO_xxxxxx函数。

3 个答案:

答案 0 :(得分:4)

您可以使用WEEK()功能 - 它会为您提供周数

SELECT WEEK('2016-04-06 20:58:06 UTC')

如果您需要一周的第一天 - 您可以尝试类似

的内容
STRFTIME_UTC_USEC((UTC_USEC_TO_WEEK(TIMESTAMP_TO_USEC(TIMESTAMP('2016-05-02 20:58:06 UTC')), 0)),'%Y-%m-%d')

答案 1 :(得分:1)

我不得不添加括号:

SELECT DATE_TRUNC(DATE('2016-04-06 20:58:06 UTC'), WEEK) as week;

答案 2 :(得分:0)

文档建议使用标准的SQL函数,例如DATE_TRUNC()

SELECT DATE_TRUNC(DATE '2019-12-25', WEEK) as week;