如何从 BigQuery 获取基于时间的结果?
How to get results based on time from BigQuery?
我需要获取特定时间范围内的数据。目前,我只能根据日期获取数据。如何获取相同日期范围但时间范围为下午 3-5 点的数据?
SELECT
event_name,
COUNT(DISTINCT user_pseudo_id) as uniques,
COUNT(user_pseudo_id) as total
FROM
`XYZ.analytics_123.events_*`
WHERE
app_info.install_source = "iTunes"
AND (Extract (DATE FROM TIMESTAMP_MICROS( user_first_touch_timestamp )) between "2020-05-20" and
"2020-05-20")
AND (_TABLE_SUFFIX between "20200520" AND "20200520")
GROUP BY
event_name
您可以使用 EXTRACT(HOUR FROM TIMESTAMP_MICROS(user_first_touch_timestamp )) BETWEEN 15 AND 17
,如下例
#standardSQL
SELECT
event_name,
COUNT(DISTINCT user_pseudo_id) AS uniques,
COUNT(user_pseudo_id) AS total
FROM `XYZ.analytics_123.events_*`
WHERE app_info.install_source = "iTunes"
AND (EXTRACT (DATE FROM TIMESTAMP_MICROS(user_first_touch_timestamp )) BETWEEN "2020-05-20" AND "2020-05-20")
AND (_TABLE_SUFFIX BETWEEN "20200520" AND "20200520")
AND (EXTRACT(HOUR FROM TIMESTAMP_MICROS(user_first_touch_timestamp )) BETWEEN 15 AND 17)
GROUP BY event_name
我需要获取特定时间范围内的数据。目前,我只能根据日期获取数据。如何获取相同日期范围但时间范围为下午 3-5 点的数据?
SELECT
event_name,
COUNT(DISTINCT user_pseudo_id) as uniques,
COUNT(user_pseudo_id) as total
FROM
`XYZ.analytics_123.events_*`
WHERE
app_info.install_source = "iTunes"
AND (Extract (DATE FROM TIMESTAMP_MICROS( user_first_touch_timestamp )) between "2020-05-20" and
"2020-05-20")
AND (_TABLE_SUFFIX between "20200520" AND "20200520")
GROUP BY
event_name
您可以使用 EXTRACT(HOUR FROM TIMESTAMP_MICROS(user_first_touch_timestamp )) BETWEEN 15 AND 17
,如下例
#standardSQL
SELECT
event_name,
COUNT(DISTINCT user_pseudo_id) AS uniques,
COUNT(user_pseudo_id) AS total
FROM `XYZ.analytics_123.events_*`
WHERE app_info.install_source = "iTunes"
AND (EXTRACT (DATE FROM TIMESTAMP_MICROS(user_first_touch_timestamp )) BETWEEN "2020-05-20" AND "2020-05-20")
AND (_TABLE_SUFFIX BETWEEN "20200520" AND "20200520")
AND (EXTRACT(HOUR FROM TIMESTAMP_MICROS(user_first_touch_timestamp )) BETWEEN 15 AND 17)
GROUP BY event_name