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

执行SQL查询报Invalid use of group function错误问题咨询

问题根因
  • 报错的核心原因是聚合函数的使用位置不符合SQL执行逻辑:SUM()属于分组聚合函数,它的计算依赖GROUP BY分组后的结果集,执行顺序晚于WHERE子句。你当前把SUM(BILLED_AMOUNT)= 0写在了WHERE条件中,而WHERE子句是对分组前的原始行做过滤,此时聚合计算还未执行,数据库无法识别该聚合判断条件,因此触发Invalid use of group function报错。
修正方案

将聚合函数的过滤条件从WHERE子句移动到GROUP BY后的HAVING子句中即可,修正后的SQL语句如下:

select count(*) as data, LOCATION_Name as location 
from SPECIAL_PROCEDURE_COLLECTION_FINAL_temp_final 
where sno>=6973 
  and sno<= 7251 
  and date(PAYMENT_DATE) = '2021-07-31' 
  and Procedures_Category IN ('FFA-VR') 
group by LOCATION_Name
having SUM(BILLED_AMOUNT)= 0
  • 补充说明:HAVING子句的执行时机在分组聚合计算之后,专门用于对聚合后的结果做条件过滤,可以正常使用SUM、COUNT等聚合函数做判断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:36:10