首页  /  数据库  /  MySQL  /  mysql报错:In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated c

mysql报错:In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated c

 作者:白驹    来源:    浏览:117    日期:2021年3月30日  

mysql报错:In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated c

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

处理方法(一):

#这个是由于sql_mode设置不当引起的,修改下sql_mode即可
select version(), @@sql_mode;
SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
#这个方法来自:https://cloud.tencent.com/developer/article/1404739
#因为我是在navicat中执行的,navivate中查询没有问题了,但是项目中又不能正常运行。

处理方法(二):

#这里我用的phpstudy集成管理工具打开phpstudy选择设置,找到文件位置打开对应版本的mysql文件目录找到my.ini文件打开加入下面代码保存重启mysql服务再次尝试恢复正常
[mysqld]
sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
  • 评论
  • 相关评论
感谢分享 赞一个
回复    删除