我以前一直使用的是 MySQL5.6及以下的版本。使用过程中没有出现过 分组查询的问题。这次使用MySQL5.7时,进行分组查询就出现了如下的报错问题。
[Err] 1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘bxj_face_big_data.i.id’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
至于出现该问题的原因,请移步至 https://blog.csdn.net/chai1230/article/details/89514482 ,我就不在此过多赘述了。
废话不多说,直接上干货, 解决方法超级简单
我通过以下解决方法,成功解决该问题。
-
找到MySQL的 my.ini 文件。
-
在文件的 [mysqld] 相关配置的结尾加上如下代码:
sql-mode="STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER"
注意:记住一定要加在 [mysqld] 相关配置的结尾, [client]配置前,不能加在文件的结尾,否则可能会造成配置不生效。
如图:
- 重启MySQL服务。即可搞定。
是不是很简单!比网上的其他解决方法简单多了,而且容易恢复。
最后贴上 该方法的出处,同时也感谢这位大牛提供了如此简单的方法。请点击跳转