mysql5.7的版本设置了 mysql sql_mode=only_full_group_by 这一属性,所以导致了错误。
查看mysql版本
select version();
查看sql_mode
select @@global.sql_mode;
查询出来的值为:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
基本可以确定问题only_full_group_by引起,在此推荐修改配置文件,这样即使MySQL服务器重启也没问题:
1、在linux找到文件
/etc/mysql/mysql.conf.d/mysqld.cnf
2、末尾添加如下语句
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
3、重新启动MySQL服务
service msyql restart