以下是 BigQuery 标准 SQL
我假设您想知道用户活动的平均时间或类似的东西 - 根据您的声明 I need to know in which time is where the user do some actions in my app
#standardSQL
SELECT TIMESTAMP_ADD(ts, INTERVAL avg_value MILLISECOND)
FROM (
SELECT TIMESTAMP_TRUNC(ts, DAY) ts, CAST(AVG(TIMESTAMP_DIFF(ts, TIMESTAMP_TRUNC(ts, DAY), MILLISECOND)) AS INT64) avg_value
FROM `project.dataset.table`
GROUP BY TIMESTAMP_TRUNC(ts, DAY)
)
您可以使用虚拟数据进行测试,如以下示例所示
#standardSQL
WITH `project.dataset.table` AS (
SELECT TIMESTAMP '2020-07-13 00:01:12.616 UTC' ts UNION ALL
SELECT '2020-07-13 00:01:14.616 UTC' UNION ALL
SELECT '2020-07-13 00:01:15.616 UTC'
)
SELECT TIMESTAMP_ADD(ts, INTERVAL avg_value MILLISECOND)
FROM (
SELECT TIMESTAMP_TRUNC(ts, DAY) ts, CAST(AVG(TIMESTAMP_DIFF(ts, TIMESTAMP_TRUNC(ts, DAY), MILLISECOND)) AS INT64) avg_value
FROM `project.dataset.table`
GROUP BY TIMESTAMP_TRUNC(ts, DAY)
)
有输出
Row f0_
1 2020-07-13 00:01:14.283 UTC