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

如何从Google BigQuery筛选最近7天数据并导出?SQL报错求助

解决Google BigQuery中导出最近7天数据的SQL问题

首先,你原SQL的错误核心是:聚合函数(比如MAX)不能直接放在WHERE子句中——WHERE用于过滤单条行级数据,而聚合函数是对多行数据做统计计算,两者执行逻辑的时机不匹配。

根据你的需求,分两种常见场景给出解决方案:

场景1:以当前系统日期为基准取最近7天数据

如果要获取包含今天在内的最近7天数据,用CURRENT_DATE()结合DATE_SUB计算时间范围即可:

SELECT *
FROM log
WHERE DATE >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)

若不需要包含今天,将>=替换为>即可。

场景2:以表中DATE列的最大日期为基准取前7天数据

如果你原本用MAX(DATE)是想以表内最新日期为起点往前推7天,可以通过子查询先获取最大日期,再做过滤:

SELECT *
FROM log
WHERE DATE >= DATE_SUB((SELECT MAX(DATE) FROM log), INTERVAL 7 DAY)

也可以用更简洁的直接加减写法:

SELECT *
FROM log
WHERE DATE >= (SELECT MAX(DATE) FROM log) - INTERVAL 7 DAY

补充说明

  • 若你的日期列是DATETIME或TIMESTAMP类型,需要先转换为DATE类型再比较,示例:
SELECT *
FROM log
WHERE DATE(timestamp_column) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)

内容的提问来源于stack exchange,提问作者Simon Kim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 03:47:07