在mysql5.7以上的版本中,对于 group by 的这种聚合操作,如果在select 中的列,没有在group by 中出现,那么这个SQL是不合法的,因为列不在group by的从句中,所以对于设置了这个mode的数据库,在使用group by 的时候,就要用MAX(),SUM(),ANT_VALUE()的这种聚合函数,才能完成GROUP BY 的聚合操作
**解决:**
通过修改配置文件my.cnf来解决这个问题的。
1. 关闭正在运行的mysql
2. 修改/etc/my.cnf,将sql_mode=中的only_full_group_by给删掉
3. 重启mysql,再执行出错的sql发现能成功执行了