如何从 Bigquery 中提取过去 3 天的数据,不包括今天和昨天的数据

How to pull data from the past 3 days, not including today's and yesterday's from Bigquery

使用标准 SQL。当 table 由通配符 table 组成时。 我尝试使用这个:

SELECT * 
FROM `Resourse.Reports_Reg.Session_streaming`
WHERE
      SUBSTR(_table_suffix, 0, 6) =
        FORMAT_DATE("%E4Y%m", DATE_SUB(CURRENT_DATE, INTERVAL 3 day))

我认为这个请求应该 return 最近 5 天的数据。但是我还是不明白它 return 对我来说是什么数据。如何拉取过去3天的数据,不包括今天和昨天

实际上,鉴于您的查询没有通配符,您没有在 _table_suffix 中选择任何内容。

如果您的 table 具有例如这样的名称结构:

`Resourse.Reports_Reg.Session_streaming_20170820`

最后一个字符串是格式为“%Y%m%d”的日期,然后选择过去的第三天和第二天可以像这样完成:

SELECT 
  * 
FROM `Resourse.Reports_Reg.Session_streaming_*`
WHERE _TABLE_SUFFIX BETWEEN FORMAT_DATE("%Y%m%d", DATE_SUB(CURRENT_DATE, INTERVAL 3 day)) AND FORMAT_DATE("%Y%m%d", DATE_SUB(CURRENT_DATE, INTERVAL 2 day))

请注意通配符“*”正在选择日期“20170820”。在那之后,只有一个 where 子句选择合适的日期。