Google bigquery Bigquery:按月份分组时间戳

Google bigquery Bigquery:按月份分组时间戳,google-bigquery,Google Bigquery,我是bigquery新手,我可以像这样显示时间戳 select event_timestamp as timestamp1 FROM `alive-ios.analytics_160092165.events_201810*` GROUP BY timestamp1 输出是这样的。我怎样才能把它们按月分组?是这样吗? 我试着和你聊天,约会等等,但这是不好的 听起来像是你想要的,例如 基于Elliott的示例,我认为需要首先将值转换为时间戳。根据您的示

我是bigquery新手,我可以像这样显示时间戳

select event_timestamp as timestamp1
          FROM `alive-ios.analytics_160092165.events_201810*` 
          GROUP BY timestamp1
输出是这样的。我怎样才能把它们按月分组?是这样吗?

我试着和你聊天,约会等等,但这是不好的


听起来像是你想要的,例如


基于Elliott的示例,我认为需要首先将值转换为时间戳。根据您的示例数据,我认为您需要时间戳


下面是BigQuery标准SQL

SELECT 
  FORMAT_TIMESTAMP('%Y-%m', TIMESTAMP_MICROS(event_timestamp)) month, 
  COUNT(1) events
FROM `project.dataset.table`
GROUP BY month 
注意:您很可能希望每月统计事件,因此我添加了
count(1)
,但您可以添加任何需要的内容,例如,如果您想计算名为
value

此外,您的通配符表达式的构建方式使其仅包含2018年10月的事件(假设表名表示事件发生的时间)-因此您需要稍微放宽通配符表达式(例如)
alive ios.analytics\u 160092165.events\u 2018*
因此您将在2018年全年的几个月内举办活动

以上假设您的事件\u时间戳以微秒表示
如果实际上它们是时间戳类型的,只需删除TIMESTAMP_MICROS()函数的使用即可

select TIMESTAMP_TRUNC(TIMESTAMP_MICROS(event_timestamp), MONTH) as timestamp1
FROM `alive-ios.analytics_160092165.events_201810*`
GROUP BY timestamp1
SELECT 
  FORMAT_TIMESTAMP('%Y-%m', TIMESTAMP_MICROS(event_timestamp)) month, 
  COUNT(1) events
FROM `project.dataset.table`
GROUP BY month