mysql5.7 sql_mode=only_full_group_by研读

2023-10-27

在安装了MySQL5.7后,笔者发现,以前系统的一些sql语句报错了,报的错如下:

bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'ws2.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by 



意思就是说,当前的sql语句中,有一些是和only_full_group_by 的sql_mode不兼容的。


这个错误的意思是说,分组后,一些分组有多条记录,不知道一个分组该显示哪一个值。

我们先来看一看有这样的一个表。

表的字段很简单。

order_id(订单id),order_type_id(订单类型id),store_name(店铺名称)

数据是这样的

BN20150930233929591     999 地下室坡道照明系统改造

BN20150702170226129    101   世博会议中心

 BN201512271300122162  101  暂无

我们这么写sql

select store_name from `order` group by order_type_id ;

就会报刚才那个错.


原因是这样子的。以订单类型分组。发现订单类型id为101的那一组有两个数据,也就是两个店名   世博会议中心和暂无。

数据库不知道分组后该显示哪一个,所以就报错了。

知道原因找解决的方法就很容易了。


我们使用一个any_value()函数。

意思是说,分组里的哪个数据都行。

select any_value(store_name) from `order` group by order_type_id ;

还有一个就是在配置文件中my.cnf关闭sql_mode=ONLY_FULL_GROUP_BY。

这样就解决了问题。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql5.7 sql_mode=only_full_group_by研读 的相关文章

  • 使用 Hibernate 在 MySQL 中存储字节数组

    我正在尝试保存带有字节数组字段的实体 我在 MySQL 数据库之上使用 Hibernate 和 JPA 这是字段定义 对于嵌入式 H2 数据库来说效果很好 Entity name blob public class Blob Lob Bas
  • MySQL SELECT 输出同一行中每个 id 的下一个日期

    我查询的表结构如下 ID Date Before value After value 1 2014 04 25 Win Loss 1 2014 04 30 Loss Win 1 2014 08 18 Win Loss 1 2014 08 2
  • MySQL用户创建的临时表已满

    我使用内存引擎创建了一个临时表 如下所示 CREATE TEMPORARY TABLE IF NOT EXISTS some text id INT DEFAULT 0 string varchar 400 DEFAULT engine m
  • 如何使PHP中的激活链接过期?

    我有一个 php 脚本 它通过电子邮件向用户发送激活链接 以便他们可以激活他们的帐户 链接是这样的 mysite com activation phpid id 20 如何创建 24 小时后过期的链接 我还没有尝试过任何东西 因为我找不到任
  • MYSQL中收盘价的简单移动平均线计算和更新表

    我可以使用一些帮助 最好是虚拟指南 来更新下表 CREATE TABLE SYMBOL day date NOT NULL open decimal 8 3 DEFAULT NULL high decimal 8 3 DEFAULT NUL
  • Preg_replace() 删除除查询结尾之外的所有内容

    首先 为我糟糕的英语感到抱歉 我有这样的疑问 SELECT t1 SELECT COUNT FROM table a t2 WHERE t1 id t2 id c AND t2 status 1 AS aula FROM table c t
  • MySQL 按主键排序

    某些 SQL 服务器允许使用通用语句 例如ORDER BY PRIMARY KEY 我不相信这适用于 MySQL 是否有任何此类解决方法可以允许跨多个表自动选择 或者是否需要查找查询来确定主键 我一直在研究的解决方法包括调用SHOW COL
  • 使用唯一索引删除重复项

    我在两个表字段 A B C D 之间插入 相信我已经在 A B C D 上创建了唯一索引以防止重复 然而我以某种方式简单地对这些做了一个正常的索引 因此插入了重复项 这是2000万条记录的表 如果我将现有索引从普通索引更改为唯一索引 或者只
  • C#:SQL 查询生成器类

    在哪里可以找到好的 SQL 查询构建器类 我只需要一个简单的类来构建 SQL 字符串 仅此而已 我需要它用于 C 和 MySql 我真的不需要像 Linq 或 NHibernate 这样的东西 谢谢 由于 Google 将我引导至此页面 我
  • 通过连接从两个表中删除?

    我有两个表如下 tbl1 tbl2 id article id title image whole news tags author older datetime 其中 tbl1 id gt tbl2 article id 如何从两个表中删
  • MySQL 服务器未启动

    当我做 mysql u root p并输入my password这就是我得到的 错误 2002 HY000 无法通过套接字 var run mysqld mysqld sock 连接到本地 MySQL 服务器 2 所以我输入 systemc
  • 使用按位函数查询 BIT 字段时,MySQL 不使用索引

    我的 MySQL 表中有一个 BIT 类型的字段 我想使用位值存储记录的状态 例如 1 status1 2 status2 4 status3 8 status4 每条记录可以同时具有多种状态 对于 status1 和 status3 该值
  • mysql-如何向列申请补助?

    用户名 撤销对数据库的选择 Person I set GRANT SELECT id ON database Person TO username localhost 不是工作 gt SELECT secret FROM Person Go
  • 如何在 Laravel 查询中使用多个 OR,AND 条件

    我需要 Laravel 查询帮助 我的自定义查询 返回正确结果 Select FROM events WHERE status 0 AND type public or type private 如何写这个查询Laravel Event w
  • PHP 绑定“bigint”数据类型(MySQLi 准备好的语句)

    studentId 57004542323382 companyOfferId 7 sql INSERT INTO studentPlacement companyOfferId studentId VALUES if stmt db gt
  • Apache、PHP 和 MySQL 可移植吗?

    我可以在外部硬盘上运行 Apache PHP 和 MySQL 吗 我需要这个 因为我在不同的地方工作 计算机 有时我没有安装和配置所有使用的应用程序 当然可以 XAMPP http www apachefriends org en xamp
  • MySQL MIN/MAX 所有行

    我有桌子Races与行ID Name and TotalCP 我选择分钟 TotalCP FROM Races 但是我想选择具有最小值的整行 我如何在单个查询中做到这一点 从聚合值获取整行的一般形式是 SELECT FROM Races W
  • 在 MySQL 中使用 COUNT 时如何返回 0 而不是 null

    我使用此查询返回存储在 sTable 中的歌曲列表以及存储在 sTable2 中的总项目数 SQL queries Get data to display sQuery SELECT SQL CALC FOUND ROWS str repl
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri

随机推荐

  • Spring学习总结(2)——Spring的常用注解

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 本文汇总了Spring的常用注解 以方便大家查询和使用 具体如下 使用注解之前要开启自动扫描功能 其中base package为需要扫描的包 含子包 1
  • IOU_GIOU_DIOU_CIOU_EIOU优缺点总结

    IOU GIOU DIOU CIOU EIOU 优点 IOU算法是目标检测中最常用的指标 具有尺度不变性 满足非负性 同一性 对称性 三角不等性等特点 GIOU在基于IOU特性的基础上引入最小外接框解决检测框和真实框没有重叠时loss等于0
  • 群体智能,多个机器人协同搬运!

    来源 湖南大学机器人视觉感知与控制技术国家工程实验室 1 项目简介 基于室内监控摄像头的多机器人协作分拣搬运系统 主要利用中央处理服务器通过获取多个分布在四周的网络监控摄像头的图像 对处于视频图像中的机器人进行实时精准的三维坐标定位 定位精
  • 外部函数取ajax返回的数据

    1 ajax回调数据使用回调函数 业务场景 上传图片后的取返回来的图片地址进行前台的展示 前端上传图片需要对大图片进行图片压缩 然后再上传 小图片不做限制 总的文件比较到 这里我封装了全局的方法 方法正常使用 但是碰到一个问题 当想把上传图
  • 使用VoTT进行视频数据集标注

    视频数据集标注方法 使用VoTT进行视频数据集标注 By 自牧君 2021 12 04 一 VoTT 1 1 简介 软件下载地址 www github com Microsoft VoTT releases VoTT是微软发布的用于图像目标
  • vue--注册全局组件

    注册全局组件步骤 步骤一 像往常一样新建一个组件 这里要注意的是 需要给这个组件一个署名 之前不都是data methods那些嘛 现在用name 注册其实以前的加上这个name也没什么关系 但是注册全局组件才使用这个
  • PyTorch构建简单的网络——波士顿房价数据集

    PyTorch构建简单的网络 波士顿房价数据集 一 数据集准备 1 数据加载 2 数据预处理 3 划分训练集 测试集 二 构建网络 三 定义损失函数和优化器 四 训练网络 五 测试网络效果 六 数据分析 1 确定一层隐藏层时 隐藏层单元个数
  • 用python画星空-【Python】手把手教你绘制星空旅游线路图

    0 前言 5月是美国的毕业季 我家领导也即将毕业了 我们将在美国进行为期两周的毕业旅行 其实类似这样的航线图我以前也用PPT绘制过 给领导用于发朋友圈 虽然总体能表达出意思 但是效果不能让自己满意 见下图 最近趁着研究python的数据可视
  • Python编程 介绍(入门)

    作者简介 一名在校计算机学生 每天分享Python的学习经验 和学习笔记 座右铭 低头赶路 敬事如仪 个人主页 网络豆的主页 目录 一 pytnon安装地址 二 python介绍 1 Python来源 2 Python LOGO 蟒蛇 3
  • Eclipse使用技巧

    1 Eclipse简介与安装 l 简介 Eclipse是著名的跨平台的自由集成开发环境 IDE Eclipse是IBM制作的一个免费开放源代码的软件开发项目 专注于为高度集成的工具开发提供一个全功能的 具有商业品质的工业平台 最初主要用来J
  • IBM的免费机器怎么装宝塔

    uname a uname a Linux MBR390 3 10 0 1160 59 1 el7 s390x 1 SMP Wed Feb 16 07 14 49 EST 2022 s390x s390x s390x GNU Linux D
  • 放大电路中的反馈-反馈的基本概念及判断方法

    反馈的基本概念 一 什么是反馈 反馈也称为回授 广泛应用于各个领域 例如在控制系统中 通过对执行机构偏移量 输出量 的监测来修正系统的输入量 反馈的目的是通过输出对输入的影响来改善系统的运行状况及控制效果 在电子电路中 将输出量 输出电压或
  • dlink虚拟服务器端口转发,D-Link路由器端口转发怎么设置【图文教程】

    端口转发功能给予了因特网用户访问用户的LAN的权限 这个功能对于用作在线服务的主机来说是很有用的 例如FTP 网页或游戏服务器 每个条目都可以在路由器上定义一个公共端口或者端口范围来转接到内部LAN IP地址和LAN端口 端口转发参数解释
  • vscode 如何运行pip_vscode执行pip指令出现code for hash md5 was not found报错

    问题描述 刚开始学习Python 为了图个方便就在vscode上安装Python插件直接写文件了 在执行pip install openpyxl的时候出现报错 code for hash md5 was not found报错 问题出现的平
  • ew三层代理使用方法

    1 获得目标网络内两台主机 A B 的权限 情况描述如下 A 主机 目标网络的边界主机 无公网 IP 无法访问特定资源 B 主机 目标网络内部主机 可访问特定资源 却无法回连公网 A 主机可直连 B 主机 2 一台可控公网IP主机 kali
  • python爬虫时爬虫爬数据时出现“访问本页面,请开启JavaScript并刷新该页”

    最近没事的时候就爱爬小说玩 也不看 就是觉得爬小说好嗨皮 以前都是在网上下TXT 现在发现 有可能也是这么来的 但执行的时候一直有个问题 之前也没怎么注意 因为没有打印页面的信息 所以一直没注意 今天打印了下 在打印的页面中发现了 访问本页
  • open(\"/dev/graphics/fb0\") failed!

    转自VC错误 http www vcerror com p 2160 问题描述 在用手机app通过framebuffer截屏的时候 手机已经root过了 但是执行代码 fb gt fd open dev graphics fb0 O RDO
  • webpack处理js兼容性问题之core-js

    过去我们使用 babel 对 js 代码进行了兼容性处理 其中使用 babel preset env 智能预设来处理兼容性问题 它能将ES6的一些语法进行编译转换 比如箭头函数 点点点运算符等 但是如果是async函数 promise 对象
  • python 一组数据 正态分布散点图_python高维数据型图表矩阵散点图

    矩阵散点图 矩阵散点图 matrix scatter plot 是散点图的高维扩展 是一种常用的高维度数可视化技术 将高维度数据的每个变量组成一个散点图 再将它们按照一定的顺序组成矩阵散点图 能够将高维度数据中所有变量的两两之间的关系展示出
  • mysql5.7 sql_mode=only_full_group_by研读

    在安装了MySQL5 7后 笔者发现 以前系统的一些sql语句报错了 报的错如下 bad SQL grammar nested exception is com mysql jdbc exceptions jdbc4 MySQLSyntax