mysql8.0报错:java.sql.SQLSyntaxErrorException: In aggregated query without GROUP BY

问题:

mysql查询报错:Error querying database.  Cause: java.sql.SQLSyntaxErrorException: In aggregated query without GROUP BY, expression #

原因分析:

在MySQL5.7.5后,默认开启了ONLY_FULL_GROUP_BY,所以导致了之前的一些SQL无法正常执行,其实,是我们的SQL不规范造成的,因为group by 之后,返回的一些数据是不确定的,所以才会出现这个错误。

解决方案:

方案一:修改SQL,因为出现这个问题,基本都是因为这个问题造成的,不确定返回字段可以使用ANY_VALUE(column_name)。

方案二:关闭ONLY_FULL_GROUP_BY

方案二操作步骤:

1.登录进入MySQL,执行命令:show variables like '%sql_mode';

mysql8.0报错:java.sql.SQLSyntaxErrorException: In aggregated query without GROUP BY

 2. vim /etc/my.cnf 或者 vim /etc/my.cnf.d/mysql-server.cnf,去掉ONLY_FULL_GROUP_BY

mysql8.0报错:java.sql.SQLSyntaxErrorException: In aggregated query without GROUP BY

3. 重新启动mysql

systemctl restart mysqld