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

wiz*_*121 3 sql bigdata google-bigquery

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

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

2016-04-06 20:58:06 UTC

此字段表示销售发生的时间。

现在假设我想创建一个报告,为您提供每周的销售额。因此,上面的示例将属于“2016-04-03 周”之类的内容(不必确切地说,我只是采用最简单的方法来执行此操作)

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

Mik*_*ant 5

你可以使用WEEK()函数 - 它给你周数

SELECT WEEK('2016-04-06 20:58:06 UTC')
Run Code Online (Sandbox Code Playgroud)

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

STRFTIME_UTC_USEC((UTC_USEC_TO_WEEK(TIMESTAMP_TO_USEC(TIMESTAMP('2016-05-02 20:58:06 UTC')), 0)),'%Y-%m-%d')
Run Code Online (Sandbox Code Playgroud)


小智 5

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

SELECT DATE_TRUNC(DATE '2019-12-25', WEEK) as week;
Run Code Online (Sandbox Code Playgroud)