select *,count(distinct fittings_list_code) from fittings_list
where approval_status = '0'
group by fittings_list_code
数据库查询操作大致如上(别问我为啥能写出来这么逗的数据库查询语句,反正就想对fittings_list_code这个字段去下重,用distinct+group by 主要是因为这个表字段有点多,当时想着把所有字段都差出来,免得后面要求改动麻烦,然后就用里这种形式偷懒,但是这是不规范的group by用法,所以想偷懒出了问题我不负责)
结果就是本地服务器运行是运行正常,然后上远程服务器的时候,就报了ERROR 1055 (42000): Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'fittings_list.fittings_list_code' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by。
查了下导致这个问题的原因,据说是mysql5.7以后自动开启了 only_full_group_by服务,只要关了就行。
so,接下来就是解决方法了:
首先是一次性方案
SELECT @@GLOBAL.sql_mode;
或用
show v