groupby报错not dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full

在MySQL执行GROUP BY语句时遇到1055错误,原因是sql_mode=only_full_group_by模式开启。解决方案包括重新设置sql_mode,通过查询当前设置并移除ONLY_FULL_GROUP_BY,然后单个库或全局设置新的sql_mode,或者直接修改MySQL配置文件(如my.ini或my.cnf),重启MySQL服务以应用更改。
摘要由CSDN通过智能技术生成

问题描述

MySQL执行如下group by 语句报错:1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘table_zjq.id’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

select * from table_zjq group by column_name;

解决方法

上述报错大致是group开启了严格约束,不符合sql_mode=only_full_group_by规范,only_full_group_by约束在分组时,只能对该分组的字段进行查询。(注:MySQL5.7之后的版本才会有这个问题,MySQL5.7后默认的sql_mode=only_full_group_by)
可以解决该报错的方法如下:

重新设置sql_mode

查询当前数据库的sql_mode设置:


                
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

共饮一杯无

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值