MySql 5.7以上,sql_mode中的“only_full_group_by”是默认开启的,修改 sql_mode 参数即可。
1.如果是windows系统,则把 MySql 中的my.ini中的sql_mode配置项修改则可,把only_full_group_by项删除,如果是Linux则在my.cnf中
2.如果my.ini配置项中没有sql_mode项,通过sql语句修改
查出sql_mode值
select @@sql_mode
将查到的值去掉only_full_group_by项,将其他项添加到my.ini配置文件中
sql-mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
my.ini中的配置项:
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
修改完成后,重启一下mysql。
3.不修改任何配置文件,但给不需要分组的字段上加上any_value()函数
SELECT any_value(id),value FROM role group by value;
本篇文章链接 地址:https://wmzos.com/?id=25
添加新评论