mysql in group by_mysql isn't in GROUP BY

今天安装新环境使用group by 语句查询报错isn't in GROUP BY!如图:

ce743ba29f3657e4d5930f955b249776.png

以前时候也没有报啊~ 想到一定是新环境mysql版本过高了配置文件不一样了!

isn't in GROUP BY报错翻译:

5672e4f55a1f01c3b8cebb61497dc070.png

意思要分组的列不在select的字段中(*这里重点 group by *号不代表所有字段!)

解决方案:

找到你my.ini就是你的mysql中的配置文件(不知道在哪里可以全电脑所有win就搜索my.ini   linux就搜索my.cnf)

找到你的这么一句话:(也许不太一样,但是就是sql_model的这一句)sql_mode="STRICT_TRANS_TABLES,ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

删除上句中的ONLY_FULL_GROUP_BY,

删除后重启就可以了! 试试可以了吗?

ONLY_FULL_GROUP_BY意思:对于GROUP BY聚合操作,如果在SELECT中的列,没有在GROUP BY中出现,那么这个SQL是不合法的

例如:取消配置的情况下

select count(id) from table_demo order by rank -- ok

select count(id) from table_demo group by rank -- ok

select count(rank),id from table_demo group by rank -- ok

select count(rank),id from table_demo group by id -- ok

配置的情况下

select count(id) from table_demo order by rank -- error

select count(id) from table_demo group by rank -- ok

select count(rank),id from table_demo group by rank -- error

select count(rank),id from table_demo group by id -- ok

意思你select 和from中间的字段必须要有group by 用到的字段

isn't in GROUP BY的报错的问题就解决了 你学会了吗?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值