【问题标题】:Appending the result query in bigquery在 bigquery 中附加结果查询
【发布时间】:2020-07-20 20:45:18
【问题描述】:

我正在做一个查询,其中查询会将上一个日期的数据附加为 BigQuery 中的结果。 因此,今天的结果数据将高于昨天的数据,因为数据是按天追加的。 到目前为止,我只设法得到的结果是按天计算的数据(您可以看到 ID 的数量在下降并且没有从前一天追加),结果如下:

我应该怎么做才能在查询中添加附加功能,以便每天在 bigquery 中获取前一天的数据结果?

code:
    WITH
    table1 AS (
    SELECT
         ID, 
      ...
    
       FROM t
       WHERE DATE_SUB('2020-01-31', INTERVAL 31 DAY) and '2020-01-31'
    ),
    
    table2 AS (
    SELECT 
        ID,
        COUNTIF((rating  < 7) as bad,
        COUNTIF((rating  >= 7 AND SAFE_CAST(NPS_Rating as INT64) < 9) as intermediate,
        COUNTIF((rating  as good
         
    FROM
        t
    WHERE DATE_SUB('2020-01-31', INTERVAL 31 DAY) and '2020-01-31'
    )
    
    SELECT  
    DATE_SUB('2020-01-31', INTERVAL 31 DAY) as date,
    * 
    FROM table1 
    FULL OUTER JOIN table2 USING (ID) 

【问题讨论】:

  • “追加”是什么意思?请提供样本数据和期望的结果。查询与问题有什么关系?您的查询在语法上也不正确。

标签: sql google-bigquery append


【解决方案1】:

如果您有想要累积的计数,那么您需要累积总和。查询看起来像这样:

select datecol, count(*), sum(count(*)) over (order by datecol)
from t
group by datecol
order by datecol;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多