前因
今天原本运行的好好的项目突然爆出了这么个Bug,简直莫名其妙,非常搞笑
SELECT list is not in GROUP BY clause and contains
nonaggregated column ‘sss.month_id’ which is not functionally
dependent on columns in GROUP BY clause; this is incompatible with
sql_mode=only_full_group_by
后果
原因好像是别的同事把mysql的only_full_group_by
配置项打开了,导致所有group by语句相关的sql报错。
查询sql_mode
查询结果:
果然能看到only_full_group_by
解决方法
1.关闭ONLY_FULL_GROUP_BY模式
1.1 方法一
运行:
该方法在mysql重启后会失效。
1.2 方法二
可以先在cmd中执行:mysql --help
可以看到mysql的配置文件位置:
在配置文件,添加配置:
注意这里的sql_mode 是配置在[mysqld]下面的
然后就是重启mysql服务
2.修改group by语句
需要在group by 后的字段之外的字段(非聚合函数字段)上添加any_value()函数
例如:
注意:本文归作者所有,未经作者允许,不得转载
更多内容请访问:IT源点