如何运行查询以获取过去 12 个月的结果 (BigQuery)

Ayu*_*ood 2 sql google-bigquery google-cloud-platform bigquery-standard-sql

我想获取 Big Query 表中特定 ID 过去 12 个月的记录。我从原始时间戳列中提取了月份和年份作为单独的列。我尝试使用 date_add() 和 date_diff() 但我遇到了一些错误。我的数据集是这样的:

Month Year MonthName    ID
8     2018   August      1
9     2018   September   2
9     2017   September   3
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Mik*_*ant 8

我从原始时间戳列中提取了月份和年份作为单独的列

我建议根据您的原始时间戳列进行 12 个月的过滤。
假设它被命名ts- 下面是 BigQuery Standard SQL

WHERE DATE(ts) BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 12 MONTH) AND CURRENT_DATE() 
Run Code Online (Sandbox Code Playgroud)

例如

#standardSQL
SELECT ts, id
FROM `project.dataset.table`
WHERE id = 1
AND DATE(ts) BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 12 MONTH) AND CURRENT_DATE() 
Run Code Online (Sandbox Code Playgroud)