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

SQL计算加权平均值时报1064语法错误,如何排查代码问题

语法错误排查及修复方案

存在的语法错误

  • 括号匹配异常:第二个IF判断的BETWEEN子句中,NOW() - INTERVAL 12 MONTH 尾部多了多余的左括号,导致IF参数传递和语法结构混乱
  • 函数结构不完整:ROUND、AVG、内层IF的左括号均没有对应的右括号闭合,且ROUND函数要求的「保留小数位数」参数放错了位置
  • 冗余符号:字段定义末尾多了不必要的逗号,不符合SELECT字段列表的语法规则

修正后可运行代码

ROUND(
    AVG(
        `inventory`.`appraisedprice` *
        IF(
            v_winning_clerks.dateentered >= NOW() - INTERVAL 12 MONTH, 
            3,
            IF(
                v_winning_clerks.dateentered BETWEEN NOW() - INTERVAL 24 MONTH AND NOW() - INTERVAL 12 MONTH, 
                2, 
                1
            )
        )
    ),
    2
) AS "average appraised price"

修正后的代码完全保留了你原本的加权规则:近12个月数据权重为3、12-24个月权重为2、24个月以上权重为1,加权后求平均值并保留2位小数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 22:24:01