mysql 5.7 以上版本默认开启 ONLY_FULL_GROUP_BY;
在这个模式下,我们使用分组查询时,出现在select字段后面的只能是group by后面的分组字段,或使用聚合函数包裹着的字段,否则即会报错。
查看模式状态:
select @@global.sql_mode;
解决方式就是关掉这个模式,即:
set @@GLOBAL.sql_mode=’’;
set sql_mode =‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’;