【发布时间】:2018-06-21 17:43:16
【问题描述】:
这个问题是关于在 bigquery 中移动年-周字段的值。
run_id year_week value
0001 201451 13
0001 201452 6
0001 201503 3
0003 201351 8
0003 201352 5
0003 201403 1
在这里,每一年的一周可以从 01 到 53。例如,2014 年的最后一周是 201452,但 2015 年的最后一周是 201553。
现在我想将每个 run_id 中每个 year_week 的值移动 5 周。对于没有值的周,假定它们的值为 0。例如,上面示例表的输出应如下所示:
run_id year_week value
0001 201504 13
0001 201505 6
0001 201506 0
0001 201507 0
0001 201508 3
0003 201404 8
0003 201405 5
0003 201406 0
0003 201407 0
0003 201408 1
输出说明:在上表中,run_id0001 的 year_week201504 的值为 13,因为在输入表中,year_week201451 的值为 13,即 201504 前 5 周。
我可以通过创建从year_week 到移位year_week 的映射以编程方式创建一个表,然后进行连接以获得输出,但我想知道是否有任何其他方法可以通过使用sql.
【问题讨论】:
标签: sql google-bigquery