MySQL命令group by报错
问题如下
原因
MySQL5.7
以上默认开启了only_full_group_by
选项
ONLY_FULL_GROUP_BY
的意思是:对于GROUP BY
聚合操作,如果在SELECT
中的列,没有在GROUP BY
中出现,那么这个SQL
是不合法的,因为列不在GROUP BY
从句中,也就是说查出来的列必须在GROUP BY
后面出现否则就会报错,或者这个字段出现在聚合函数里面。
Windows解决办法
先找到自己的MySQL
安装目录
1 | select @@basedir; |
然后进入文件夹找到自己的my.ini
配置文件,修改[mysqld]
中的内容,添加下面的内容就可以,然后退出数据库,在服务里面重启MySQL
就可以
1 | sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION |