BIGQUERY SELECT列表表达式引用[CHANNEL_ID]列,该列既不分组也不在[10:13]聚集

时间:2018-09-17 02:47:10

标签: google-bigquery

我遇到此错误:

  

BIGQUERY SELECT列表表达式引用列CHANNEL_ID,该列是   在[10:13]既没有分组也没有汇总

我不知道是为什么引起的,有人可以向我解释吗?

这是我的代码:

SELECT 
    t0.CHANNEL_ID,
    t1.CHANNEL_DISPLAY_NAME
FROM
    (SELECT
         TIMESTAMP_TRUNC(_PARTITIONTIME, MONTH) as `DATE`,
         CHANNEL_ID
     FROM 
         `pops-204909.yt_kids.p_content_owner_basic_a3_yt_kids`   
     WHERE 
         DATE(_PARTITIONTIME) between "2017-08-01" and "2017-08-31"
     GROUP BY 
         `DATE`) t0
LEFT JOIN
    (SELECT
         TIMESTAMP_TRUNC(_PARTITIONTIME, MONTH) as `DATE`,
         CHANNEL_DISPLAY_NAME
     FROM 
         `pops-204909.yt_kids.p_content_owner_ad_revenue_raw_a1_yt_kids`
     WHERE 
         DATE(_PARTITIONTIME) between "2017-08-01" and "2017-08-31"
     GROUP BY 
         `DATE`) t1 ON t0.DATE = t1.DATE

1 个答案:

答案 0 :(得分:0)

使用x y时-相应的SELECT列表中的所有表达式必须是GROUP BY中的表达式,或者应具有AGGREGATION函数的表达式(例如MIN,MAX等)。有关GROUP BY clause的更多信息

因此,在您的情况下,两个子查询都分别在相应的GROUP BY中丢失了CHANNEL_ID和CHANNEL_DISPLAY_NAME。还是取决于您的逻辑,它们应该带有一些聚合功能。

注意:上面解释了您看到的错误。而不是这个-即使您要修复该特定错误,您的查询对我也没有多大的意义-但我希望您有一些想法:o)