【发布时间】:2015-07-13 17:59:27
【问题描述】:
在 Google BigQuery 中,我想并排显示两个不同日期的数据。我想显示今天的数据,然后显示 7 天前的数据以进行比较。我的 FROM 子句选择了一系列表,每个表对应一个日期。
SELECT
DATE(TIMESTAMP(INTEGER(visitStartTime*1000000))) AS GMT_Date,
DAYOFWEEK(TIMESTAMP(INTEGER(visitStartTime*1000000))) AS GMT_Weekday,
IF(hits.customDimensions.index=15, hits.customDimensions.value, NULL) AS apikey,
hits.eventInfo.eventCategory AS event_category,
SUM(totals.visits) AS visit_count,
DATE(DATE_ADD(TIMESTAMP(INTEGER(visitStartTime*1000000)),-7,"DAY")) AS test,
// HERE I need to show SUM(totals.visits) but for the date of 'test' above
FROM (TABLE_DATE_RANGE([100610078.ga_sessions_], TIMESTAMP('20150529'),TIMESTAMP('20150711')))
WHERE
IF(hits.customDimensions.index=15, hits.customDimensions.value, NULL) IS NOT NULL
GROUP BY
GMT_Date,
GMT_Weekday,
event_category,
test,
apikey
ORDER BY
GMT_Date DESC,
visit_count DESC
LIMIT
30
“测试”之后,我想显示测试日期的访问总和。我该怎么办?我在 BigQuery 语法页面上没有看到类似的内容。
这是它当前返回的图像:http://prntscr.com/7s8w58
在“测试”列之后,我想要一个类似于 previous_week_visits 的列,它与 visit_count 具有相同的数据,但针对的是测试日期。
【问题讨论】:
-
您需要运行子查询。使用子查询,您将能够区分每天的访问。然后你做一个选择,每天汇总。
标签: sql google-analytics bigdata google-bigquery