已解决SQL_ERROR_INFO: ‘Invalid use of group function‘

已解决(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;

猜你喜欢

转载自blog.csdn.net/yuan2019035055/article/details/125673491