[英]Bigquery full date (year-month-day) to (year-month)
一个新手问题。
我想查询数据库以查找给定页面的综合浏览量,并编写了一个查询,该查询每天返回该网页/综合浏览量。 我应该如何更改查询以获取相同的统计信息,但不是每天一次,而是每月一次?
所以与其:
page pv date
/mysite 10 2017-01-01
得到
page pv date
/mysite 500 2017-01
我的查询:
select
date,
hits.page.pagePath as pagePath,
count(totals.pageviews) as pageViews
from Table_DATE_RANGE ([818251235.ga_sessions_] , Timestamp('2016-01-01'), Timestamp('2017-11-01'))
group by 1,2
目前尚不清楚您要在原始查询中计算的内容,但这是一个使用标准SQL并每月进行分组的查询:
#standardSQL
SELECT
DATE_TRUNC(PARSE_DATE('%Y%m%d', date), MONTH) AS month,
hit.page.pagePath,
COUNT(*)
FROM `818251235.ga_sessions_*`,
UNNEST (hits) AS hit
WHERE _TABLE_SUFFIX BETWEEN
'20160101' AND '20181101'
GROUP BY 1, 2;
编辑:固定为使用DATE_TRUNC
而不是EXTRACT(MONTH FROM ...)
因为年和月都相关。
您可以使用UTC_USEC_TO_MONTH
, UTC_USEC_TO_WEEK
和UTC_USEC_TO_DAY
类的日期函数将其标准化为每月的第一天,即一周的第一天。
select
date(UTC_USEC_TO_MONTH(date)) as monthly,
.....
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.