解决报错:sql_mode=only_full_group_by

MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案 有时候,遇到数据库重复数据,需要将数据进行分组,并取出其中一条来展示,这时就需要用到group by语句。但是,如果mysql是高版本,当执行group by时,select的字段不属于group by的字段的话,sql语句就会报错。 阅读详情
{
  "status": 400,
  "timestamp": "2021-02-14 23:31:09",
  "message": "\n### Error querying database.  Cause: java.sql.SQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'yshop.yx_store_order.add_time' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by\n### The error may exist in co/yixiang/modules/shop/service/mapper/StoreOrderMapper.java (best guess)\n### The error may involve co.yixiang.modules.shop.service.mapper.StoreOrderMapper.chartList-Inline\n### The error occurred while setting parameters\n### SQL: SELECT IFNULL(sum(pay_price),0) as num,FROM_UNIXTIME(add_time, '%m-%d') as time  FROM yx_store_order where refund_status=0 and is_del=0 and paid=1 and pay_time >= 1612108800 GROUP BY FROM_UNIXTIME(add_time,'%Y-%m-%d')  ORDER BY add_time ASC\n### Cause: java.sql.SQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'yshop.yx_store_order.add_time' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'yshop.yx_store_order.add_time' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by"
}

解决方法如下,/etc/my.cnf 配置文件末尾添加如下配置

sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' 

千万不要用百度中csdn第一篇,对于8.0.18的mysql会报错的

MySql版本问题sql_mode=only_full_group_by的完美解决方案 1、查看sql_mode select @@sql_mode 查询出来的值为: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 2、去掉ONLY_FULL_GROUP_BY,重新设置值。 set @@sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_Z 立即下载

相关推荐

E4A蓝牙APP开发实战:从零到一构建简易物联网控制终端

本文详细介绍了使用E4A(易安卓)开发蓝牙APP的实战教程,从零开始构建简易物联网控制终端。通过E4A的中文编程环境和内置蓝牙组件,开发者可以快速实现智能家居控制、创客项目遥控等功能。文章涵盖硬件准备、开发环境搭建、核心代码解析及典型应用场景,特别适合零Java基础的电子爱好者入门蓝牙APP开发。

weixin_42715608的博客 477

MySQL报错:sql_mode=only_full_group_by 4种解决方法含举例,轻松解决ONLY_FULL_GROUP_BY的报错问题

MySQL报错:sql_mode=only_full_group_by 4种解决方法含举例,轻松解决ONLY_FULL_GROUP_BY的报错问题

qq118640594X的博客 10万+

取证实战:当嫌疑人电脑已关机,如何利用EFDD从休眠文件提取BitLocker密钥?

本文详细介绍了如何利用Elcomsoft Forensic Disk Decryptor(EFDD)从休眠文件(hiberfil.sys)中提取BitLocker密钥的实战技术。通过分析休眠文件中的内存快照,取证人员可以突破已关机加密设备的防线,获取关键解密信息。文章涵盖了工具配置、镜像获取、密钥提取及验证等完整流程,并提供了疑难问题解决方案和法律合规建议。

weixin_29315091的博客 346

Mysql5.7彻底解决sql_mode=only_full_group_by

一、原理层面 这个错误发生在mysql 5.7 版本及以上版本会出现的问题: mysql 5.7版本默认的sql配置是:sql_mode="ONLY_FULL_GROUP_BY",这个配置严格执行了"SQL92标准"。 很多从5.6升级到5.7时,为了语法兼容,大部分都会选择调整sql_mode,使其保持跟5.6一致,为了尽量兼容程序。 二、sql层面 在sql执行时,出现该原因: 简单来说就是:...

wtswjtu的专栏 1037

Kaggle大神Abhishek的机器学习框架实战:从红酒数据集看交叉检验的坑与解法

本文通过Kaggle竞赛Grandmaster Abhishek Thakur的实战经验,以红酒数据集为例,深入探讨了机器学习中交叉检验的五大陷阱与优化策略。文章详细解析了决策树max_depth调优过程中的过拟合现象,对比了五种主流交叉检验方法的适用场景,并提供了回归问题中的分层技巧和特征工程陷阱的解决方案。最后,总结了交叉检验方案选型决策树,帮助数据科学家在实际项目中提升模型泛化能力。

h6j7k8l9p0的博客 965

VN5620硬件接口介绍

VECTOR, VN5620, 诊断

Fecostar的博客 7488

【报错解决】MySQL报错:sql_mode=only_full_group_by

【报错解决】MySQL报错:sql_mode=only_full_group_by

我梦 6999

PRD撰写效率翻倍秘籍:我是如何用大模型+飞书文档搭建自动化工作流的

本文分享了如何利用大模型与飞书文档构建自动化工作流,以大幅提升PRD撰写效率。通过结构化需求输入、设计模块化提示词模板,并借助自动化脚本桥接数据与文档,产品经理可将繁琐的文档撰写工作自动化,从而将精力聚焦于产品战略与用户洞察。

weixin_28520495的博客 407

MySQL报错:sql_mode=only_full_group_by解决方法

含义:启用这个模式后,MySQL 在执行 GROUP BY 操作时,要求 SELECT 语句中的列必须是 GROUP BY 子句中的分组列或者包含在聚合函数中。,它要求在使用 GROUP BY 语句时,SELECT 中的字段必须要么包含在 GROUP BY 子句中,要么是聚合函数的参数。在查询中,SELECT 中的字段不符合这个规则,导致了错误的出现。如果代码中含有group by聚合操作,那么select中的列,除了使用聚合函数之外的,如max()、min()等,都必须出现在group by中。

m0_52985087的博客 7029

云原生监控:Prometheus+Grafana监控Nginx实战

在云原生环境中,应用的高可用性和性能优化至关重要。Nginx作为一款广泛使用的高性能Web服务器、反向代理服务器及电子邮件(IMAP/POP3)代理服务器,对其进行有效的监控能够及时发现潜在问题,保障服务的稳定运行。本文章的目的是详细介绍如何使用Prometheus和Grafana构建一套完整的监控系统来监控Nginx,范围涵盖从环境搭建、数据采集、存储到可视化展示的整个流程。

AI云原生与云计算技术学院 1575

C++如何实时监测另一个进程是否已经退出?(附源码)

调用WaitForSingleObject实时监测目标进程是否已经退出

dvlinker的技术专栏 8276

mysql查询报错:sql_mode=only_full_group_by的解决方法以及案例

msql报错:SQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'xxx' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by的解决方法及案例

weixin_52116015的博客 3754

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

MySQL报错:this is incompatible with sql_mode=only_full_group_by 解决方法

sql_mode=only_full_group_by

二哈喇子! 4104

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

MySQL报错:sql_mode=only_full_group_by 解决方法含举例

但是,当我们再一次重新启动数据库时,可能会恢复原样,还是会出现ONLY_FULL_GROUP_BY的报错,这就需要我们再一次修改数据库配置。那有没有可以永久生效的办法呢?参考方法二,就可以使修改数据库配置永久生效!这个时候,就会返回得到以下的信息:(不同电脑返回的信息可能不同)修改配置文件my.ini。首先,打开数据库,输入。运行后重启,即可生效。

力挽狂澜的POWER 1974

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

解决Group By语句报错:this is incompatible with sql_mode=only_full_group_by

今天在我的个人服务器上的Mysql中写了这么一条SQL语句:select id,name,link,passwd,original,type from movie GROUP BY link;执行竟然报错,报错信息如下:[2018-07-06 14:53:27.339] [000172] [个人线上数据库] [MYSQL] 1055 - Expression #1 of ORDER BY clau...

分享传递价值 5069

解决GROUP BY clause; this is incompatible with sql_mode=only_full_group_by:MySQL5.7版本以前的sql分组报错问题

我以前用Mysql 5.6 写了 一些分组sql 在5.7版本运行报错: [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column ‘information_schema.PROFILING.SEQ’ which is not functiona...

T 2176

mysql报错:sql_mode=only_full_group_by问题解决方案

一开始还以为是我sql写的有问题,一直在解决sql问题,后来才知道原来是mysql版本的问题,5.7以上版本默认的 MySQL 配置中 sql_mode 配置了 only_full_group,需要 GROUP BY 中包含所有 在 SELECT 中出现的字段。所以对于设置了这种mode的数据库,在使用group by 的时候,就要用MAX(),SUM()等的这种聚合函数,才能完成GROUP BY 的聚合操作。代码启动之后,打开页面空白,一看后台报错sql_mode=only_full_group_by。

w_l1924119022的博客 581
上一篇: Maven报错
下一篇: Maven下载sources时报错java.lang.RuntimeException: Cannot reconnect
一步一结
博客等级 码龄7年 50粉丝 65原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值