用到group by,但是却报了如下错误:
Expression #1 of 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 SQL模式
解决:
1、在navicat中执行下面查询:
select @@global.sql_mode
如果你会看到查询出来的字符串中,有ONLY_FULL_GROUP_BY,这也正是祸害的根源,因此,我们的目的就是去掉这个值
2、在navicat中执行下面查询:
set @@global.sql_mode ='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了,ok