【发布时间】:2016-12-12 01:45:52
【问题描述】:
我是 Google BigQuery 的新手。我需要有关查询错误的帮助:
“在第 1 行第 1 列遇到了”“WITH”“with”。期待: EOF"
with
t1 as
(
select
date(USEC_TO_TIMESTAMP(event_dim.timestamp_micros)) date, event_dim.name
from
[myfoody-1313:it_rawfish_myfoody_ANDROID.app_events_20160727]
where
event_dim.name='pv_detail' and event_dim.params.key='item_id' and
event_dim.params.value.string_value='31'
)
select
date(d) as day, count(event_dim.name)
from
generate_series(current_date - interval '6 day', current_date, '1 day') d
left join t1 on t1.date = d
group by day
order by day;
【问题讨论】:
-
使用下面 Mikhail 的建议启用标准 SQL 后,您需要对查询进行一些其他转换,即: * 使用
CAST(TIMESTAMP_MICROS(event_dim.timestamp_micros) AS DATE)。 * 使用显式数组而不是GENERATE_SERIES。我在这里提交了序列/数组生成的功能请求,这将填补这个空白:code.google.com/p/google-bigquery/issues/detail?id=646 -
作为更新,
GENERATE_DATE_ARRAY现在可在 BigQuery 中使用。例如,在上面的查询中,您可以使用FROM UNNEST(GENERATE_DATE_ARRAY(DATE_SUB(CURRENT_DATE(), INTERVAL 6 DAY), CURRENT_DATE(), INTERVAL 1 DAY)) AS d LEFT JOIN ...。
标签: sql google-bigquery data-visualization