我正面临这个错误:
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) 我面临一个问题。基本上,我想删除所有重复的行,我在几个表中成功做到了。但有一个表包含 FLOAT 列,即 REVENUE。它显示这个错误:
错误:[5:70] 不允许按 FLOAT64 类型的表达式进行分区 以下是我的代码:
CREATE OR REPLACE TABLE `pops-204909.monthly_reports.top_20_countries_revenue` AS
SELECT * EXCEPT(rn)
FROM
(
SELECT *, ROW_NUMBER() OVER(PARTITION BY CMS_ID, DATE,COUNTRY_NAME,REVENUE ORDER BY DATE ) rn
FROM `pops-204909.monthly_reports.top_20_countries_revenue`
)
WHERE rn = 1
Run Code Online (Sandbox Code Playgroud) 我有一个字符串'2017/05/16 19:33:49',当我尝试将其转换为TIMESTAMP:
错误:时间戳无效:“2017/05/16 19:33:49”
我想使用CAST函数将其转换为TIMESTAMP. 我该怎么做?