MySQL8的ONLY_FULL_GROUP_BY SQL模式兼容问题
文章目录
- 1. 问题描述
- 2. 解决方法
- 1. 修改查询
- 2. 修改SQL模式
- 3. 使用`ANY_VALUE()`函数
1. 问题描述
Cause: java.sql.SQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'btc-cloud.t1.id' 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 exce
错误信息是关于MySQL的ONLY_FULL_GROUP_BY SQL模式的一个限制。从MySQL 5.7.5开始,ONLY_FULL_GROUP_BY模式成为了默认的SQL模式,这意味着在执行GROUP BY查询时,SELECT列表中的每个列都必须是聚合函数的一部分,或者是GROUP BY子句中指定的列。
2. 解决方法
1. 修改查询
您可以在SELECT列表中只选择那些在GROUP BY子句中出现的列,或者使用聚合函数(如MAX()、MIN()、SUM()、AVG()等)来处理那些不在GROUP BY子句中的列。
2. 修改SQL模式
如果您需要执行这样的查询,并且不希望改变查询本身,您可以在会话级别或全局级别关闭ONLY_FULL_GROUP_BY模式。但是,这样做可能会影响其他查询的正确性,因此请谨慎操作。
- 会话级别(仅对当前会话有效):
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
- 全局级别(对所有会话有效,需要重启MySQL):
修改my.cnf(Linux)或my.ini(Windows)配置文件,在[mysqld]部分添加以下行:
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
然后重启MySQL服务。
Ubuntu环境详细操作教程
3. 使用ANY_VALUE()函数
在MySQL 5.7.5及以上版本中,可以使用ANY_VALUE()函数来抑制ONLY_FULL_GROUP_BY模式的警告。修改查询,将非聚合列包裹在ANY_VALUE()函数中:
SELECT ANY_VALUE(t1.id), column2, AVG(column3)
FROM t1
GROUP BY column2;
相关文章:
MySQL8的ONLY_FULL_GROUP_BY SQL模式兼容问题
文章目录 1. 问题描述2. 解决方法1. 修改查询2. 修改SQL模式3. 使用ANY_VALUE()函数 1. 问题描述 Cause: java.sql.SQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column btc-cloud.t1.id which is not funct…...
Django使用Celery异步
安装包 pip install celerypip install eventlet 1.在项目文件的根目录下创建目录结果 2. 在main.py文件中 # !/usr/bin/env python # -*-coding:utf-8 -*-""" # Author :skyTree # version :python 3.11 # Description&#…...
vue3 + ts + echart 实现柱形图表
首先封装Echart一个文件 代码如下 <script setup lang"ts"> import { ECharts, EChartsOption, init } from echarts; import { ref, watch, onMounted, onBeforeUnmount } from vue;// 定义props interface Props {width?: string;height?: string;optio…...
c语言结构体与共用体
前面我们介绍了基本的数据类型 在c语言中 有一种特殊的数据类型 由程序员来定义类型 目录 一结构体 1.1概述 1.2定义结构体 1.3 结构体变量的初始化 1.4 访问结构体的成员 1.5结构体作为函数的参数 1.6指向结构的指针 1.7结构体大小的计算 二共用体 2.1概述 2.2 访…...
vue系列--vue封装拖拽指令v-drag
1.首先将下面的代码引入代码中 export const initVDrag (Vue) > {Vue.directive("drag", (el) > {const oDiv el // 当前元素const minTop oDiv.getAttribute("drag-min-top")const ifMoveSizeArea 20oDiv.onmousedown (e) > {let target …...
devc++ 使用 winsock 实现 UDP 局域网 WIFI 广播
参考链接 使用UDP发送广播报_udp广播 inaddr_broadcast-CSDN博客 UDP接收端收不到广播的消息问题排查_unity upd广播连接不上是什么情况-CSDN博客 如何禁用自己电脑的虚拟网卡-百度经验 (baidu.com) 但是wifi 会屏蔽255.255.255.255 广播地址,所以 255.255.255.2…...
JS实现根据数组对象的某一属性排序
JS实现根据数组对象的某一属性排序 一、冒泡排序(先了解冒泡排序机制)二、根据数组对象的某一属性排序(引用sort方法排序) 一、冒泡排序(先了解冒泡排序机制) 以从小到大排序为例,冒泡排序的原…...
CSP-J 2023 复赛第2题:公路 ← 贪心算法
【题目来源】https://www.luogu.com.cn/problem/P9749https://www.acwing.com/problem/content/5311/【题目描述】 小苞准备开着车沿着公路自驾。 公路上一共有 n 个站点,编号为从 1 到 n。 其中站点 i 与站点 i1 的距离为 vi 公里。 公路上每个站点都可以加油&…...
【LeetCode打卡】Day23|669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树
学习目标: 669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树 学习内容: 669. 修剪二叉搜索树 题目链接&&文章讲解 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪…...
Transformer位置表示(Position Encoding)
为什么需要位置表示 对比CNN、RNN和Self-Attention: CNN处理相邻窗口的内容;RNN天然是序列操作,考虑了位置先后关系;Self-Attention的计算时是无序的,所以需要位置表示来知道Token之间的位置信息。 绝对位置表示 典型如…...
LPDDR6与LPDDR5 State Diagram技术探讨
相对于LPDDR5: 1)去掉DSM 2)idle到per-bank-refresh变成per-2-bank-refresh,LPDDR6下可自由组合任两个bank刷新,以提高性能 3)sref到进入command bus training后可MRR、MRW、CAS、MPC等命令 4)idle power down期间可MRR、MRW、CAS、MPC等命令 5)idle到进入command bus train…...
AliLinux的使用Docker初始化服务(详细)
AliLinux的使用Docker初始化服务(详细) AliLinux是基于CentOS的。 1、java 环境 2、mysql环境 3、kafka环境 4、flink环境 5、dinky环境 这些环境,本想直接dnf安装在宿主机上,思来想去,还是用docker方便学习&…...
docker环境常用容器安装
目录 1.安装partainer 2.安装myql 3.安装redis 4.安装Minio 5.安装zibkin 6.安装nacos 7.安装RabbitMq 8.安装RocketMq 8.1启动service 8.2修改对应配置 8.3启动broker 8.4启动控制台 9.安装sentinel 10.安装elasticsearch 11.安装Kibana 12.安装logstash/file…...
【论文阅读|基于 YOLO 的红外小目标检测的逆向范例】
基于 YOLO 的红外小目标检测的逆向范例 摘要1 引言2 相关工作2.1 逆向推理2.2 物体检测方法 3 方法3.1 总体架构3.2 逆向标准的可微分积分 4 实验4.1 数据集和指标4.2 实验环境4.4 OL-NFA 为少样本环境带来稳健性 5 结论 论文题目: A Contrario Paradigm for YOLO-b…...
【presto权威指南】常用操作
shell ./bin/launcher start ./bin/launcher status ./bin/launcher stop /home/work/presto/bin/presto --server hadoop2:8443 --catalog hive --schema defult --debug --user ‘sdfyypt_2_0_eywa_admin’ //指定用户 presto -f 可以指定执行sql文件 presto -execute 可以…...
Python程序员面试准备:八股文题目与解答思路
目录 描述一下Python中的列表推导式(List Comprehension)及其用法。 代码示例: 解答思路: 解释一下Python中的装饰器(Decorator)及其作用。 代码示例: 输出: 解答思路: 谈谈Python中的GIL(Global Interprete…...
如何系统地自学Python?
如何系统地自学Python? 如何系统地自学Python?1.了解编程基础2.学习Python基础语法3.学习Python库和框架4.练习编写代码5.参与开源项目6.加入Python社区7.利用资源学习8.制定学习计划9.持之以恒总结 如何系统地自学Python? 作为一个Python语…...
mysql 2-21
约束的分类 添加约束 查看表约束 非空约束 唯一性约束 复合的唯一性约束 只要有一个字段不重复,就可以添加成功 主键约束 自增列 mysql 8.0具有持久化,重启服务器会继续自增 外键约束 创建外键 关联必须有唯一性约束,或者是主键 约束等级 …...
【C#】List泛型数据集如何循环移动,最后一位移动到第一位,以此类推
欢迎来到《小5讲堂》 大家好,我是全栈小5。 这是《C#》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。…...
LeetCode23.合并K个升序链表
题目 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 示例 : 输入:lists [[1,4,5],[1,3,4],[2,6]] 输出:[1,1,2,3,4,4,5,6] 解释:链表数组如下&…...
智慧树自动刷课插件:三步实现网课自动化学习的完整指南
智慧树自动刷课插件:三步实现网课自动化学习的完整指南 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 还在为智慧树平台冗长的网课视频而烦恼吗࿱…...
Ostrakon-VL C++高性能集成:工业级视觉系统的核心引擎
Ostrakon-VL C高性能集成:工业级视觉系统的核心引擎 1. 工业视觉的极致性能挑战 在高速运转的汽车零部件生产线上,每分钟需要完成200次精密零件的外观检测。传统视觉方案常面临两个致命问题:要么漏检率超标导致质量风险,要么检测…...
基于Qwen3-ASR的智能会议纪要系统:从语音识别到文本摘要全流程
基于Qwen3-ASR的智能会议纪要系统:从语音识别到文本摘要全流程 1. 系统整体效果展示 今天给大家展示一个基于Qwen3-ASR-1.7B语音识别模型构建的智能会议纪要系统。这个系统不仅能准确识别会议中的语音内容,还能自动区分不同说话人,提取关键…...
CLAP模型量化压缩实战:8位整数量化指南
CLAP模型量化压缩实战:8位整数量化指南 1. 引言 如果你正在为嵌入式设备部署音频AI模型而苦恼,那么CLAP模型的量化压缩可能就是你要找的解决方案。CLAP(对比语言-音频预训练)模型虽然功能强大,但其庞大的参数量让在资…...
Hashids终极指南:BCMath与GMP数学扩展性能深度对比
Hashids终极指南:BCMath与GMP数学扩展性能深度对比 【免费下载链接】hashids A small PHP library to generate YouTube-like ids from numbers. Use it when you dont want to expose your database ids to the user. 项目地址: https://gitcode.com/gh_mirrors/…...
PasteMD实际作品:将播客文字稿→带时间戳/嘉宾标注/知识点标签的Markdown
PasteMD实际作品:将播客文字稿→带时间戳/嘉宾标注/知识点标签的Markdown 1. 项目简介 PasteMD是一款基于本地Ollama框架构建的智能文本格式化工具,专门解决日常工作中遇到的文本整理难题。无论你是从会议记录、播客转录还是笔记草稿中获取的杂乱文本&…...
OpenClaw(首选,全能执行) - 支持平台:**WhatsApp、Telegram、微信、企业微信、飞书、Slack、Discord**等15+平台
一、自动处理邮件的AI(过滤、归档、代发、总结) 1. OpenClaw(全能型,本地多平台) 核心能力:垃圾邮件过滤、自动归档、按规则分类、提取待办、代发模板邮件、批量退订、邮件摘要。优势:本地部署、…...
开源大模型部署案例:Pixel Language Portal镜像免配置快速上手教程
开源大模型部署案例:Pixel Language Portal镜像免配置快速上手教程 1. 产品概览 Pixel Language Portal(像素语言跨维传送门)是一款基于Tencent Hunyuan-MT-7B大模型构建的创新翻译工具。与传统翻译软件不同,它将语言转换过程设…...
OpenClaw节日营销助手:gemma-3-12b-it自动生成祝福语与发送邮件
OpenClaw节日营销助手:gemma-3-12b-it自动生成祝福语与发送邮件 1. 为什么需要节日营销自动化? 去年端午节前夜,我盯着电脑屏幕上的200多个客户邮箱地址发呆。每个客户都需要个性化的节日祝福,但手动编写和发送至少需要6小时。当…...
FastAPI 2.0 + LLM流式输出全栈方案,含OpenAI兼容层、前端SSE重连策略、服务端背压控制(仅限内部技术白皮书级实录)
第一章:FastAPI 2.0 异步 AI 流式响应教程概览FastAPI 2.0 原生强化了对异步流式响应(StreamingResponse)的支持,为构建低延迟、高吞吐的 AI 接口(如大语言模型推理、语音合成、实时图像生成)提供了坚实基础…...
