我正面临这个错误:
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)
| 归档时间: |
|
| 查看次数: |
48177 次 |
| 最近记录: |