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

PostgreSQL SQL语法错误修复:提取年份并计算百万级平均就业数据

修复后的PostgreSQL查询语句

原查询存在几个核心问题:

  • SELECT子句中错误重复了FROM table,破坏SQL语法结构,这是触发"/"附近语法错误的直接原因
  • 使用聚合函数AVG()但未指定GROUP BY子句,不符合聚合查询规则
  • WHERE子句无法直接引用SELECT中定义的year别名,需基于原始日期字段过滤

情况1:按年份分组计算每年的平均就业人数(百万级)

若需分别统计2005年、2006年的年度平均值,修复后的查询如下:

SELECT
    EXTRACT(year FROM date) AS year,
    AVG(employment_1000s) / 1000 AS avg_employment_millions
FROM your_table_name
WHERE
    state = 'California'
    AND industry = 'Gov'
    AND EXTRACT(year FROM date) BETWEEN 2005 AND 2006
GROUP BY EXTRACT(year FROM date);

情况2:计算2005-2006年整体的平均就业人数(百万级)

若需获取这两年的整体平均值,无需分组,修复后的查询如下:

SELECT
    AVG(employment_1000s) / 1000 AS avg_employment_millions
FROM your_table_name
WHERE
    state = 'California'
    AND industry = 'Gov'
    AND EXTRACT(year FROM date) BETWEEN 2005 AND 2006;

关键修复说明

  1. 移除SELECT子句中多余的FROM table,确保SQL结构符合SELECT ... FROM ... WHERE ... [GROUP BY ...]规范
  2. 分组场景添加GROUP BY子句,与SELECT中的年份字段对应;非分组场景直接聚合所有符合条件的数据
  3. 将WHERE子句中的year别名替换为EXTRACT(year FROM date),避免别名在WHERE中无法识别的问题
  4. 将原语句中的table替换为实际表名your_table_name,请根据业务场景修改

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 07:25:20