【问题标题】:SQL Cumulative Count with BigQuery for active使用 BigQuery 进行活动的 SQL 累积计数
【发布时间】:2022-01-19 06:54:34
【问题描述】:

我想知道如何将行日期截断为周。当前数据是

Ad Name Launch Date Last Seen
Ad 1 9 Dec, 2021 16 Dec, 2021
Ad 2 1 Dec, 2021 9 Dec, 2021
Ad 3 1 Dec, 2021 31 Dec, 2021

期望的输出是,想象 12 月有 4 周。提供的日期仅为示例,它们将由 SQL 函数 date_trunc 自动生成

Week Active Ads
Dec Date 1-7 2
Dec Date 7-14 3
Dec Date 14-21 2
Dec Date 21-30 1

【问题讨论】:

    标签: sql date group-by google-bigquery bucket


    【解决方案1】:

    考虑以下方法

    select 
      date_trunc(seen_day, week) week_start,
      last_day(seen_day, week) week_end,
      count(distinct ad_name) Active_Ads
    from your_table, 
    unnest(generate_date_array(
      parse_date('%d %B, %Y', launch_date), 
      parse_date('%d %B, %Y', last_seen)
    )) seen_day
    group by 1, 2        
    

    如果应用于您问题中的样本数据 - 输出是

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-01
      • 2017-02-14
      相关资源
      最近更新 更多