抱歉,这听起来有点令人困惑...
我正在使用一个表,该表每周从星期日到星期六聚合数据。日期列存储星期几的结束日期;例如,上周应该是2019-01-19的一周结束日期。
我正在尝试从上周的结束日期(2019年1月19日)减去360天获得总计记录。但是,如果我减去360天,并且日期不是在星期六,则记录将被忽略。
如何从2019-01-19开始减去360天,并确保计算的日期也舍入到该周日期的末尾?
2019-01-19-360 = 2018-01-24,这是一个星期三。我希望将其舍入到该周的星期六,即2018年1月27日
答案 0 :(得分:0)
类似的事情应该起作用 我尚未测试,但您了解了这个想法,可以根据需要进行修改
select (date_trunc('week','2019-01-19'::date) - (interval '1 week' * floor(360/7))) + interval '6 days';
如果它已关闭并且您看不到要进行更改以使其起作用,请发表评论。
答案 1 :(得分:0)
在Google BigQuery标准SQL中,您可以执行以下操作:
SELECT DATE_TRUNC(DATE_ADD(<YOUR_DATE>), INTERVAL -360 DAY), WEEK(SATURDAY))