You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BigQuery获取当前周数据问题:日期错误及周起始日改周日

BigQuery当前周数据查询修正方案

原查询的问题

  1. 周起始逻辑错误:原查询里的DATE_TRUNC(cast(creation_ts as date), WEEK)是针对每一行的creation_ts计算其所在周的起始(默认周一),不是当前周的起始。这会返回所有item_id=1067222且日期在自身所在周周一至今天的数据,而非仅当前周的记录。
  2. 周起始不符合需求:BigQuery的DATE_TRUNC默认以周一作为周起始,不满足你要周日作为第一天的要求。

修正后的查询语句

SELECT *
FROM `grouponi_groupon.tb_orders_items`
WHERE 
  DATE(creation_ts) BETWEEN DATE_TRUNC(CURRENT_DATE(), WEEK(SUNDAY)) AND CURRENT_DATE()
  AND item_id = 1067222

关键说明

  • DATE(creation_ts)和cast(creation_ts as date)功能一致,写法更简洁。
  • DATE_TRUNC(CURRENT_DATE(), WEEK(SUNDAY))会计算当前日期所在周的周日作为起始点(比如今天是2024-05-23周四,该函数返回2024-05-19周日)。
  • 若要获取**完整的当前周(周日至周六)**数据,不管今天是周几,可把结束条件改成DATE_ADD(DATE_TRUNC(CURRENT_DATE(), WEEK(SUNDAY)), INTERVAL 6 DAY),修改后语句如下:
SELECT *
FROM `grouponi_groupon.tb_orders_items`
WHERE 
  DATE(creation_ts) BETWEEN DATE_TRUNC(CURRENT_DATE(), WEEK(SUNDAY)) AND DATE_ADD(DATE_TRUNC(CURRENT_DATE(), WEEK(SUNDAY)), INTERVAL 6 DAY)
  AND item_id = 1067222

内容的提问来源于stack exchange,提问作者Tzahi Barda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 05:45:31