BIGQUERY SELECT 列表表达式引用了 CHANNEL_ID 列,该列在 [10:13] 处既未分组也未聚合

Phu*_*inh 15 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
Run Code Online (Sandbox Code Playgroud)

Mik*_*ant 13

当您使用时GROUP BY- 相应 SELECT 列表中的所有表达式必须是那些在 GROUP BY 中的表达式,或者应该使用 AGGREGATION 函数 - 如 MIN、MAX 等。 查看更多关于GROUP BY子句

因此,在您的情况下,两个子查询都分别丢失,CHANNEL_ID并且CHANNEL_DISPLAY_NAME在各自的GROUP BY. 或者取决于您的逻辑,它们应该带有一些聚合功能。

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