解决报错: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 立即下载

相关推荐

操作系统课程项目 OS project —— Pintos from Project 1 to Project 3

Pintos Project 陪伴我们操作系统课程大半个学期了…… 虽然做了这么长时间,个人能力有限,pintos代码,看过的可能也就看懂了一半吧,更不用说没看过的了…… 但是也找到了一些有价值的资料,整理一下,供后辈们参考…… 关于环境的问题,最好是用ubuntu 16.04 windows用户不要折腾装双系统了,特别是win10,动不动更新一下,说不定双系统就出问题了,linux...

Deserted Land 8557

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万+

ENVI5.6 Seamless Mosaic多景影像镶嵌色差问题

多景影像无缝镶嵌色差问题拟解决方法

Matchaya的博客 7705

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

MAX3232芯片引脚功能详解与外围电路设计避坑指南(从电荷泵到静电防护)

本文详细解析了MAX3232芯片的引脚功能与外围电路设计,重点介绍了其电荷泵架构和RS232通信接口的应用。通过实际案例和参数对比,提供了电路设计中的常见问题解决方案和静电防护建议,帮助工程师优化工业控制与嵌入式系统中的通信可靠性。

weixin_30596165的博客 434

将AAL图谱对应到Yeo7大网络中【原理,代码分析】

本文介绍了将AAL2图谱映射到Yeo7大功能网络的方法。通过整合皮层(Yeo2011)、小脑(Buckner2011)和纹状体(Choi2012)三个区域的功能网络图谱,采用投票机制确定每个AAL区域的网络归属。具体步骤包括:1)统计每个AAL区域体素在各网络图谱中的分布;2)选择体素数量最多的网络作为该区域的最终标签。该方法实现了从解剖结构到功能网络的映射,可获得120个AAL区域对应的7大功能网络标签。

yes666666的博客 2208

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

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

我梦 6999

保姆级教程:用Wokwi玩转ESP32 MicroPython仿真(含库文件配置指南)

本教程详细介绍了如何使用Wokwi平台进行ESP32 MicroPython仿真开发,包括库文件配置、传感器数据模拟和REPL调试技巧。通过Wokwi的仿真调试系统,开发者可以在浏览器中快速验证代码逻辑,提高开发效率,特别适合物联网项目的快速迭代。

weixin_29195615的博客 448

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

MFRC522防冲突机制详解:当两张IC卡同时靠近读写器,会发生什么?

本文深入解析了MFRC522芯片在多张IC卡同时靠近RFID读写器时的防冲突机制,重点介绍了二叉树搜索算法在比特级的实现原理。通过详细的寄存器配置优化和实际工程案例,展示了如何有效解决信号碰撞问题,提升多卡场景下的读写性能。

weixin_29191669的博客 429

【部署】OpenClaw版本降级实操(含全量卸载)

本文详细介绍了OpenClaw工具的降级与卸载方法。主要内容包括:1)通过npm安装指定版本的核心命令及国内镜像加速方案;2)两种卸载路径:CLI工具存在时的简易一键卸载(含交互式与非交互式命令)和手动分步卸载流程;3)CLI已删除但服务仍在运行时,针对macOS(launchd)、Linux(systemd)和Windows(计划任务)系统的具体清理步骤。文章特别强调了卸载前备份的重要性,并提供了不同安装方式(常规安装与源码克隆)的额外说明,确保用户能彻底清理所有组件。

海兰 3176

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

实例详解C++程序的五大内存分区

本文详细讲述C++程序在运行时的5大内存分区。 下面使用日常开发中的编程实例,详细介绍一下这5个分区,以便大家能更深刻的理解这5大内存分区。 1、栈内存区 栈内存区是我们用的最多的分区,只要有函数的地方都会使用到这个分区。栈分区是用来存放函数参数及函数局部变量值的内存区,是由编译器在编译时自动分配和释放的。 函数中的参数与函数中的局部变量占用的内存是代码执行到函数(进入函数)是分配的,在............

dvlinker的技术专栏 1万+

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

sql_mode=only_full_group_by

二哈喇子! 4104

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

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

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

力挽狂澜的POWER 1974

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

解决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

温度PID控制PLC程序

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

解决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、付费专栏及课程。

余额充值