已解决(SQL使用GROUP BY语句时报错)SQL_ERROR_INFO: ‘Invalid use of group function’
报错信息
粉丝群里面的一个小伙伴想用SQL查询,但是发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错代码如下::
SELECT name as '姓名',AVG(age) as '平均年龄' FROM `test1` WHERE AVG(age)>20 GROUP BY name;
报错信息:SQL_ERROR_INFO: 'Invalid use of group function
报错翻译
报错内容翻译:
SQL\u ERROR\u INFO:“组函数的使用无效”
报错原因
报错原因:
where和having这两个过滤的子句区别没有搞清
SQL语句的写法顺序:
SELECT [DISTINCT|DISINCTROW|ALL] select_expression,… – 查询结果
[FROM table_references – 指定查询的表
[WHERE where_definition] – where子句,查询数据的过滤条件
[GROUP BY col_name,…] – 对[匹配where子句的]查询结果进行分组
[HAVING where_definition] – 对分组后的结果进行条件限制
[ORDER BY{unsigned_integer | col_name | formula} [ASC | DESC],…] – 对查询结果进行排序
[LIMIT [offset,] rows] – 对查询的显示结果进行条数限制
[PROCEDURE procedure_name] --查询存储过程返回的结果集数据
解决方法
SQL语句正确写法:
SELECT name AS '姓名',AVG(age) as '平均年龄' FROM `test1` GROUP BY name HAVING AVG(age) > 20;
以上是此问题报错原因的解决方法,欢迎评论区留言讨论是否能解决,如果有用欢迎点赞收藏文章谢谢支持,博主才有动力持续记录遇到的问题!!!
千人全栈VIP答疑群联系博主帮忙解决报错
由于博主时间精力有限,每天私信人数太多,没办法每个粉丝都及时回复,所以优先回复VIP粉丝,可以通过订阅限时9.9付费专栏《100天精通Python从入门到就业》进入千人全栈VIP答疑群,获得优先解答机会(代码指导、远程服务),白嫖80G学习资料大礼包,专栏订阅地址:https://blog.csdn.net/yuan2019035055/category_11466020.html
-
优点:作者优先解答机会(代码指导、远程服务),群里大佬众多可以抱团取暖(大厂内推机会),此专栏文章是专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试!
-
专栏福利:简历指导、招聘内推、每周送实体书、80G全栈学习视频、300本IT电子书:Python、Java、前端、大数据、数据库、算法、爬虫、数据分析、机器学习、面试题库等等
-