this is incompatible with sql_mode=only_full_group_by

报错信息:

Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'xxxx' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

原因:

这是因为mysql5.7及以上版本的mysql中,对于 group by 的这种聚合操作,如果在select 中的列,

没有在group by 中出现,那么这个SQL是不合法的,因为列不在group by的从句中,所以对于设置了这个mode的数据库,在使用group by 的时候,就要用MAX(),SUM(),ANT_VALUE()的这种聚合函数,才能完成GROUP BY 的聚合操作。

解决方法:

1、首先查询你的数据库是否包含:only_full_group_by

select @@global.sql_mode

2、如果包含接着下面的步骤,修改my.cnf

vim my.cnf

找到sql_mode 去掉only_full_group_by

如果没有sql_mode 追加如下代码:

sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

3、重启mysql

systemctl restart mysqld

相关推荐
天行健,君子而铎15 分钟前
高性能、可控、多架构:教育行业数据库风险监测一体化解决方案
数据库·架构
Stella252122 分钟前
实习日志|知识总结
linux·服务器·软件测试·数据库
可爱又迷人的反派角色“yang”29 分钟前
redis知识点总集
linux·运维·数据库·redis·缓存
BullSmall30 分钟前
Redis 性能调优(二)
数据库·redis·缓存
一顿操作猛如虎,啥也不是!31 分钟前
SQL JOIN 类型对比:LEFT JOIN 与 INNER JOIN
数据库
学习编程的Kitty35 分钟前
Redis(1)——持久化
数据库·redis·mybatis
君子剑mango35 分钟前
MySQL8.0 窗口函数
数据库·mysql
VX:Fegn08951 小时前
计算机毕业设计|基于springboot + vue乡村振兴服务系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
大柏怎么被偷了1 小时前
【Linux】文件系统
linux·运维·数据库