首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >解决Mysql在查询时报:1055分组查询错误的解决方法

解决Mysql在查询时报:1055分组查询错误的解决方法

作者头像
星辰sea
发布于 2022-10-29 09:49:06
发布于 2022-10-29 09:49:06
2.1K0
举报
文章被收录于专栏:星辰SEA星辰SEA

1. SQL#

代码语言:javascript
复制
SELECT name,phone FROM sys_user
GROUP BY name HAVING COUNT(1) >= 2

2. 错误

代码语言:javascript
复制
> 1055 - Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'gas_web_gb.B.parent_module_code' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
> 时间: 0.008s

3. 原因

代码语言:javascript
复制
是由于默认的 MySQL 配置中 sql_mode 配置了 only_full_group_by,需要 GROUP BY 中包含所有 在 SELECT 中出现的字段。

4. only_full_group_by:使用这个就是使用和oracle一样的group 规则, select的列都要在group中,或者本身是聚合列(SUM,AVG,MAX,MIN) 才行。

5. 使用 SQL 语句可以查询这个配置

代码语言:javascript
复制
SELECT @@sql_mode;

6. 解决

如果是Linux,就在配置文件(my.cnf)中修改 sql_mode 的配置(在/etc/my.cnf路径下)。如果是Windows,就修改配置文件my.ini,我的是Windows,如下所示:

7. 重启服务就好了

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/01/22 ,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 1. SQL#
  • 2. 错误
  • 3. 原因
  • 5. 使用 SQL 语句可以查询这个配置
  • 6. 解决
  • 7. 重启服务就好了
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档