欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

【关于mysql5.7及以上版本的groupby查询问题的解决方案】

时间:2023-06-17
关于mysql5.7及以上版本的group by 查询问题的解决方案

报错内容如下:expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘表名.字段名’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

原因:从5.7版本及以后的版本,默认设置了严格模式,你只能查询你执行分组字段的字段名!!!

这样操作就不会报错,如果你想解决这个问题,就按照下面的方法执行即可!!!

解决方法如下: 1.找到mysql安装根目录下的my.ini配置文件 2.根据你的mysql版本在该配置文件的mysqld配置下加入下面一条配置,如下图(我的版本是8.0,所以我以此为例):

下面要区分mysql版本:5.7及更新的版本(8版本除外):sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONmysql8:sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

3.去重启mysql服务即可

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。