已解决(SQL使用GROUP BY语句时报错)SQL_ERROR_INFO: ‘Invalid use of group function’


文章目录


报错信息

我的代码

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;

帮忙解决

本文已收录于:

本专栏用于记录学习和工作中遇到的各种疑难Bug问题,以及粉丝群里小伙伴提出的各种问题,文章形式:报错代码 + 报错翻译 + 报错原因 + 解决方法,包括程序安装、运行程序过程中等等问题,订阅专栏+关注博主后如遇到其他问题可私聊帮忙解决!!!