TABLE_ATE_RANGE Google BigQuery中的困难

时间:2017-03-17 19:22:19

标签: sql google-bigquery

涉及TABLE_DATE_RANGE的Google BigQuery食谱中的示例不适用于首选的"标准SQL"虽然它们适用于旧的" Legacy SQL"。 传统SQL样式命令的示例。

FROM (TABLE_DATE_RANGE([73156703.ga_sessions_], DATE_ADD(CURRENT_TIMESTAMP(), -7, 'DAY'), DATE_ADD(CURRENT_TIMESTAMP(), -1, 'DAY')))

我用后面的刻度线(`)来封装表名而不是传统样式的方括号,但它失败并带有神秘的消息

Error: Table-valued functions are not supported

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您需要使用wildcard table而不是TABLE_DATE_RANGE,这是特定于旧版SQL的。一个例子是:

#standardSQL
SELECT *
FROM `your_dataset.ga_sessions_*`
WHERE PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) BETWEEN
  DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) AND
  CURRENT_DATE();

您可以在migration guide中了解有关旧版和标准SQL之间差异的更多信息。

答案 1 :(得分:1)

对于标准SQL,您需要编写此示例:

FROM `google.com:analytics-bigquery.LondonCycleHelmet.ga_sessions_*`
WHERE _TABLE_SUFFIX BETWEEN '20130910' AND '20130910'