You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BigQuery Sandbox报错:期望关键字AS却得到'(',SQL代码无法运行求助

问题:BigQuery Sandbox运行CTE SQL报错:Expected keyword AS but got "("

我参照视频编写的SQL代码,在BigQuery Sandbox中运行时出现错误:ERROR: Expected keyword AS but got "(" at [1:17],代码无法正常执行,请问这是BigQuery的问题吗?

原代码:

WITH pop_vs_vac (continent, location, DATE, population, new_vaccinations, rolling_people_vaccinated)
AS 
(
    SELECT 
        dea.continent, dea.location, dea.DATE, dea.population, 
        vac.new_vaccinations, 
        SUM(CAST(vac.new_vaccinations AS INT)) 
            OVER (PARTITION BY dea.location ORDER BY dea.location, dea.DATE) AS rolling_people_vaccinated  -- (rolling_people_vaccinated/population)* 100
    FROM 
        [gg-analytics-404715.Portfolio_Covid.Covid_Deaths] AS dea
    JOIN 
        [gg-analytics-404715.Portfolio_Covid.Covid_vaccinations] AS vac
            ON dea.location = vac.location
            AND dea.DATE = vac.DATE
    WHERE 
        dea.continent IS NOT NULL
        --- order by 1, 2, 3
)
SELECT *
FROM pop_vs_vac

解答

这不是BigQuery的问题,是你的CTE语法不符合BigQuery的规范:

  • BigQuery不支持在CTE名称后用(字段列表)的写法,这是SQL Server等其他数据库的语法,BigQuery要求CTE定义必须是WITH 表名 AS (...)的格式,不需要额外指定字段列表(SELECT语句中已经明确了字段名)。
  • 另外,BigQuery中引用数据集和表的正确格式是用反引号()包裹,而非方括号([]);CAST(vac.new_vaccinations AS INT)建议替换为SAFE_CAST(vac.new_vaccinations AS INT64)`,避免转换失败导致查询中断。

修正后的代码:

WITH pop_vs_vac AS 
(
    SELECT 
        dea.continent, 
        dea.location, 
        dea.DATE, 
        dea.population, 
        vac.new_vaccinations, 
        SUM(SAFE_CAST(vac.new_vaccinations AS INT64)) 
            OVER (PARTITION BY dea.location ORDER BY dea.location, dea.DATE) AS rolling_people_vaccinated
    FROM 
        `gg-analytics-404715.Portfolio_Covid.Covid_Deaths` AS dea
    JOIN 
        `gg-analytics-404715.Portfolio_Covid.Covid_vaccinations` AS vac
            ON dea.location = vac.location
            AND dea.DATE = vac.DATE
    WHERE 
        dea.continent IS NOT NULL
)
SELECT *
FROM pop_vs_vac

内容的提问来源于stack exchange,提问作者Will Simotas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 19:20:06