mysql5.7版本以后,group by的规则有点变化。
首先查看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
然后在mysql的配置文件,Windows是在my.ini文件里面进行修改。
在[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
然后重启mysql服务即可。
用管理员身份启动cmd,输入关闭和启动mysql的命令即可。
net stop mysql
net start mysql