【问题标题】:BigQuery fetching this week and last week dataBigQuery 获取本周和上周的数据
【发布时间】:2019-09-15 00:38:49
【问题描述】:

假设我有一个查询:

SELECT ga_channelGrouping, ga_sourceMedium, SUM(ga_sessionDuration)/SUM(ga_sessions) as avg_sessionDuration 

FROM database.table 

group by ga_channelGrouping, ga_sourceMedium

如果我有一个类似于2018-06-19 11:00:00 UTCDATE 列,我如何从BigQuery 中选择上周本周 数据。

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    DATE_TRUNC 是一个有用的函数来获取一周的开始,而 DATE_SUB 可以让你回到上周

    DATE_TRUNC

    DATE_SUB

    SELECT if(date(date) >= DATE_TRUNC(current_date(), WEEK(MONDAY)),"This Week","Last Week") weekPeriod, 
     ga_channelGrouping, 
     ga_sourceMedium, 
     SUM(ga_sessionDuration)/SUM(ga_sessions) as avg_sessionDuration 
    
    FROM database.table 
    WHERE date(date) >= DATE_SUB(DATE_TRUNC(current_date(), WEEK(MONDAY)), INTERVAL 1 WEEK)
    group by weekPeriod, ga_channelGrouping, ga_sourceMedium
    

    如果您的一周从星期日开始,只需将 WEEK(MONDAY) 更改为 WEEK(SUNDAY)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多