mysql使用group by查询报错SELECT list is not in GROUP BY clause and contains nonaggregated column...

今天接口突然返回这个错误:
在这里插入图片描述

因为一直使用的是阿里云 rds实例,之前接口返回正常,没有更新过代码,因为最近重新购买了该实例rds,所以问题定位到这个上边,后来查询是mysql的配置是默认了参数的sql_mode=only_full_group_by
MySql在低版本(5.7.x以下)中允许select后面的非聚合列不出现在group by中。以下sql在低版本中是可以运行的,但是在5.7及以上版本会报错

通过该命令查询:
SELECT @@sql_mode
SELECT @@GLOBAL.sql_mode 或者 SELECT @@SESSION.sql_mode
在这里插入图片描述

解决方法就是在对应rds实例化的参数设置中找到sql_model修改运行参数值将其only_full_group_by删除即可,或者像我这样全部清空。虽说提交参数之后才会生效,但也要重启实例哦。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值