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

在SQL/BigQuery中排除日期差超10天的数据的实现方法

解决方案:过滤日期间隔超过10天的分组数据

你需要在分组后添加HAVING子句来筛选符合日期间隔要求的结果,因为WHERE子句只能过滤原始行数据,无法直接引用聚合后的计算结果。

修改后的完整查询语句如下:

select
 srt_bin_id,
 Min(srt_cred_tmst) as Min_Sort_Date,
 Max(srt_cred_tmst) as Max_Sort_Date,
 Count(trkg_id) as count_of_packages,
 Max(srt_loc_id) as Store
from `bda-prd.dp_logistics.bqt_lgs_rets_rpt`
where srt_cred_tmst > "2022-08-13"
Group by 1
HAVING DATE_DIFF(Max_Sort_Date, Min_Sort_Date, DAY) <= 10

关键说明:

  • 使用DATE_DIFF函数计算两个日期的天数差,参数依次为结束日期、开始日期、时间单位(这里是DAY)
  • HAVING子句专门用于对GROUP BY后的聚合结果进行过滤,确保只保留间隔不超过10天的srt_bin_id分组

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 15:55:14