group by报错
# 报错:[42000][1055] Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'base.biz_org_rep.ID' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
select * from biz_org_rep group by LINK_USER_ORG;
报错原因:
从字面意思理解是select后面查询的字段没有出现在group by中,MySql在低版本(5.7.x以下)中允许select后面的非聚合列不出现在group by中。
以下分析多种情况:
-- CREATE_TIME没有出现在group by中、而LINK_USER_ORG出现在group by中,依旧报错
select t.CREATE_TIME,t.LINK_USER_ORG,count(1) from biz_org_rep t group by LINK_USER_ORG;-- CREATE_TIME没有出现在group by中,仍然报错
select t.CREATE_TIME,count(1) from biz_org_rep t group by LINK_USER_ORG;-- 不报错,结果是查出一列数据,该列数据根据LINK_USER_ORG分组查出每一组有多少条数据
select count(1) from biz_org_rep t group by LINK_USER_ORG;

-- 不报错,结果是查出两列数据,该两列数据分别是:①根据LINK_USER_ORG分组查出每一组有多少条数据 ②输出LINK_USER_ORG
select count(1), t.LINK_USER_ORG from biz_org_rep t group by LINK_USER_ORG; select t.LINK_USER_ORG, count(1) from biz_org_rep t group by LINK_USER_ORG;

-- 依旧报错:[1055] Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'base.t.CREATE_TIME' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
select count(1), t.LINK_USER_ORG, t.CREATE_TIME from biz_org_rep t group by LINK_USER_ORG;
原因及解决方法:
MySql从5.7版本开始默认开启only_full_group_by规则,规则核心原则如下,没有遵循原则的sql会被认为是不合法的sql。
- order by后面的列必须是在select后面存在的
- select、having或order by后面存在的非聚合列必须全部在group by中存在(例如group by columnA的时候select等后面只能是columnA列和一些聚合列如count(1),因为根据columnA相同时其他列数据可能不同)
可以通过三种方式解决报错问题:
- 第一种,修改sql使其遵守only_full_group_by规则
- 第二种,将MySql的版本降到5.7以下
- 第三种,关闭only_full_group_by规则
第一种方式适用于sql比较少的情况,如果程序中有大量的sql没有遵循only_full_group_by规则,这种方式修改起来会很浪费时间 。
第二种方式不建议使用,高版本很明显的一个好处是安全性高,如果降低版本会有一定的风险。
第三种方式比较推荐,不过要重启数据库,步骤如下:
- 查看是否开启了only_full_group_by规则校验,在数据库中执行如下sql:
从查询结果中可以看到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,ONLY_FULL_GROUP_BYSELECT @@GLOBAL.sql_mode;SELECT @@SESSION.sql_mode; - 关闭only_full_group_by的规则校验,关闭规则校验需要执行如下sql。以下两个sql单引号中的内容是第一步查询的结果去掉“,ONLY_FULL_GROUP_BY”之后的值:
set @@GLOBAL.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';set @@SESSION.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; -
重启数据库,登录数据库所在的服务器执行如下命令:service mysqld start;
相关文章:
group by报错
# 报错:[42000][1055] Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column base.biz_org_rep.ID which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_modeonly_full_grou…...
3、云原生安全之falco的部署
文章目录 1、helm安装2、拉去镜像失败与解决3、安装faclo4、安装nfs服务器,配置k8s的持久卷4.1、创建nfs服务器,4.2、部署master节点(nsf服务的客户端)4.3、pv与pvc4.4、假设pv和pvc的配置文件出错了5、安装falcosidekick可视化(建议跳过,直接使用6)6、安装faclo与falco…...
Docker架构概述
Docker是基于Go语言实现的开源容器项目,能够把开发的应用程序自动部署到容器的开源的应用容器引擎。Docker的构想是要实现"Build, Ship and Run Any App, Anywhere",即通过对应用的封装(Packaging)、分发(Distribution)、部署(Deployment)、运…...
安装 node 错误的配置环境变量之后使用 npm 报错
安装 node 错误的配置环境变量之后使用 npm 报错 node:internal/modules/cjs/loader:1147 throw err; ^ Error: Cannot find module ‘F:\ACodeTools\Node\node_modules\npm\bin\node_modules\npm\bin\npm-cli.js’ at Module._resolveFilename (node:internal/modules/cjs/loa…...
Matlab 最小二乘插值(曲线拟合)
文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 在多项式插值时,当数据点个数较多时,插值会导致多项式曲线阶数过高,带来不稳定因素。因此我们可以通过固定幂基函数的最高次数 m(m < n),来对我们要拟合的曲线进行降阶。之前的函数形式就可以变为: 二、实现…...
AWTK-MVVM 配置文件模型
配置文件模型 AWTK-MVVM 内置了一些配置文件模型,用于读写各种配置文件,比如,JSON/XML/INI/CSV/UBJSON 等。 文件名中可以引用下面的变量。 ${app_dir} 应用程序目录${user_dir} 用户目录${temp_dir} 临时目录 json(url${app_dir}/demos/de…...
【活动】金三银四,前端工程师如何把握求职黄金期
随着春意盎然的气息弥漫大地,程序员群体中也迎来了一年一度的“金三银四”求职热潮。这个时间段对于广大前端工程师而言,不仅象征着生机勃发的新起点,更是他们职业生涯中至关重要的转折点。众多知名公司在这一时期大规模开启招聘通道…...
萌新学习RSA第二天(离线分解整数N)
1.yafu的使用(离线环境分解N)、 下载 打开 及使用 下载地址:https://sourceforge.net/projects/yafu/ 在下载好的并解压好的文件夹上鼠标右键打开终端 然后输入.\yafu-x64.exe并回车运行 .\yafu-x64.exe 来到这个页面就OK了 然后输入 fa…...
STM32学习和实践笔记(1): 装好了的keil μVision 5
2019年3月在淘宝上买了这块STM32的开发板,学了一段时间后就丢下了,今天重新捡起来,决定好好学习、天天向上。 对照教程,今天先把keil5装上了。 装的过程有以下几点值得记录下: 1)用注册机时,…...
企业计算机服务器中了360勒索病毒如何解密,360后缀勒索病毒处理流程
对于众多的企业来说,企业的数据是企业发展的核心,越来越多的企业开始注重企业的数据安全问题,但随着网络技术的不断发展与应用,网络黑客的攻击加密手段也在不断升级。近期,云天数据恢复中心接到多家企业的求助…...
【图像拼接/视频拼接】论文精读:Efficient Video Stitching Based on Fast Structure Deformation
第一次来请先看这篇文章:【图像拼接(Image Stitching)】关于【图像拼接论文精读】专栏的相关说明,包含专栏使用说明、创新思路分享等(不定期更新) 图像拼接系列相关论文精读 Seam Carving for Content-Aware Image ResizingAs-Rigid-As-Possible Shape ManipulationAdap…...
LASSO算法
LASSO (Least Absolute Shrinkage and Selection Operator) 是一种回归分析的方法,它能够同时进行变量选择和正则化,以增强预测准确性和模型的解释性。LASSO通过在损失函数中加入一个L1惩罚项来实现这一点。该惩罚项对系数的绝对值进行约束。 基本概念 …...
xss.haozi.me靶场练习
靶场地址alert(1) 1、第一关 输入在文本框里面,我们闭合前面的标签,中间的内容我们就可以随意写了 2、第二关 逃逸value的属性即可,这里使用点击事件触发xss 3、第三关 看代码,使用了正则表达式,去掉了所有的括号字…...
Unity 游戏设计模式:观察者模式
本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com 在 unity 游戏设计中,观察者模式(Observer Pattern)有着重要的作用,它主要用于实现对象之间的一对多的依赖关系,当一个对象的状态发生变化时&#x…...
计算机体系结构安全:对体系结构如何支持安全机制进行调研
一、体系结构支持信任建立和主动防御的技术: 可信3.0 二、体系结构怎么更好的支持信任建立和主动防御 2.1 支持信任建立 一、以手机芯片举例,用智能手机的芯片作为信任根,确保应用程序和敏感数据受到保护。 二、启动时验证操作系统和应用…...
b站小土堆pytorch学习记录—— P15 Dataloader的使用
文章目录 一、前置知识1.dataloader简要介绍2.dataloader 官方文档(翻译后) 二、DataLoader的使用 一、前置知识 1.dataloader简要介绍 DataLoader 是 PyTorch 中用于加载数据的实用工具,它可以处理数据集的批量加载、数据集的随机打乱、多…...
小程序中使用echarts地图
一、下载并安装echarts 1、下载echarts-for-weixin组件 echarts-for-weixin项目提供了一个小程序组件,用这种方式可以在小程序中方便地使用 ECharts。 下载ec-canvas项目(下载地址) 注意:下载的 ec-canvas 中的echarts的版本…...
swoole协程
协程执行顺序 //hyperf框架 use Co;go(function () {Co::sleep(1); // Io等待一秒echo "hello go1 \n";});echo "hello main \n";go(function () {echo "hello go2 \n";});//打印结果hello mainhello go2hello go1/*运行此段代码, 系统启动一个…...
Android Gradle 开发与应用 (一) : Gradle基础
1. Gradle是什么 Gradle是一个通用的构建工具,支持诸多主要的 IDE,包括 Android Studio、IntelliJ IDEA、Visual Studio 等 Gradle 的底层实现(核心引擎和框架)其实是用 Java 编写的开发者通常使用 Groovy 或 Kotlin 来编写构建脚本 1.1 那么为什么Gra…...
PostgreSQL操作笔记
基础操作 数据库相关 -- 查看所有数据库 \l-- 切换到指定数据库 \c 库名-- 查看库中所有表 \d执行SQL脚本 如果有现成的SQL脚本: \i 脚本路径路径一般需要用单引号引起来。 如果需要当场编辑一次性的SQL脚本,可以: \e执行上述命令后会进…...
华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
作为测试我们应该关注redis哪些方面
1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...
数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !
我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...
在golang中如何将已安装的依赖降级处理,比如:将 go-ansible/v2@v2.2.0 更换为 go-ansible/@v1.1.7
在 Go 项目中降级 go-ansible 从 v2.2.0 到 v1.1.7 具体步骤: 第一步: 修改 go.mod 文件 // 原 v2 版本声明 require github.com/apenella/go-ansible/v2 v2.2.0 替换为: // 改为 v…...
CppCon 2015 学习:Time Programming Fundamentals
Civil Time 公历时间 特点: 共 6 个字段: Year(年)Month(月)Day(日)Hour(小时)Minute(分钟)Second(秒) 表示…...
客户案例 | 短视频点播企业海外视频加速与成本优化:MediaPackage+Cloudfront 技术重构实践
01技术背景与业务挑战 某短视频点播企业深耕国内用户市场,但其后台应用系统部署于东南亚印尼 IDC 机房。 随着业务规模扩大,传统架构已较难满足当前企业发展的需求,企业面临着三重挑战: ① 业务:国内用户访问海外服…...
