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

MySQL执行分组统计查询报ERROR 1111 (HY000)错误如何解决

报错原因

报错ERROR 1111 (HY000): Invalid use of group function是SQL执行顺序限制导致的:WHERE子句会在GROUP BY分组操作之前执行,而count()这类聚合函数的结果是分组完成后才会计算,所以不能把聚合函数的判断条件放在WHERE中。

修正后的SQL语句

SELECT GolDarah, count(GolDarah) AS JmlPasien
FROM tblPasien
WHERE monthname(TglLahir) IN ('July','August','September','October','November','December')
GROUP BY GolDarah
HAVING JmlPasien = 2
ORDER BY GolDarah;

核心修改点

  • 把聚合结果的判断条件从WHERE子句移到HAVING子句中,HAVING是SQL专门用于分组后过滤聚合计算结果的语法
  • 可选优化:给别名增加了AS关键字,提升语句可读性,也能避免部分数据库的别名识别异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 09:36:04