Mysql问题:[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause

news/2024/11/26 4:48:51/

1 问题描述

使用Navicat连接到MySQL(版本:8.0.18),执行查询:

select * from t_user WHERE  user_name = 'admin'

查询结果没有问题,但是报错:

[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 functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

截图如下:
在这里插入图片描述

2 原因

MySql从5.7版本及以上你版本默认开启only_full_group_by规则。

only_full_group_by规则:
1) order by后面的列必须是在select后面存在的。
2) select、having或order by后面存在的非聚合列必须全部出现在group by子句中。

3 解决方案

3.1 遵循only_full_group_by规则;

如:

select t.column1, t.column2 from table as t group by column1

修改:

select t.column1, t.column2 from table as t group by column1,column2 

3.2 去掉only_full_group_by规则

第1步:查询当前的规则,执行查询:

SELECT @@sql_mode;

执行结果:
在这里插入图片描述

第2步:去掉only_full_group_by规则,执行查询:

set @@GLOBAL.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

执行结果:
在这里插入图片描述
第3步:再次查询当前的规则,执行查询:

SELECT @@sql_mode;

执行结果:
在这里插入图片描述
说明only_full_group_by规则已去掉。

4 验证

去掉only_full_group_by规则后,执行查询:

select * from t_user WHERE  user_name = 'admin'

执行结果:
在这里插入图片描述
没有报错,问题解决。


http://www.ppmy.cn/news/31194.html

相关文章

(枚举)(模拟)(前缀和)(数组模拟哈希)(可二分)1236. 递增三元组

目录 题目链接 一些话 流程 套路 ac代码 题目链接 1236. 递增三元组 - AcWing题库 一些话 int f[N]; memset(f,0,sizeof f)影响不到f[N] 所以尽量不要对f[N]赋值,不要用f[N]操作 流程 //由三重暴力i,j,k因为三重暴力底下是分别用i和j,j和k作比较…

SpringBoot - 什么是跨域?如何解决跨域?

什么是跨域? 在浏览器上当前访问的网站,向另一个网站发送请求,用于获取数据的过程就是跨域请求。 跨域,是浏览器的同源策略决定的,是一个重要的浏览器安全策略,用于限制一个 origin 的文档或者它加载的脚本…

python带你成功复刻热门手机游戏——飞翔的小鸟

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 飞翔的小鸟(游戏英文名:Flappy Bird) 一款由越南独立开发者开发的手机游戏,是之前非常流行的一款手机游戏 小游戏目标:让小鸟穿过管子,不要碰到任何物体…

23种设计模式-迭代器模式(安卓应用场景介绍)

迭代器模式是一种行为型设计模式,它允许你在不暴露集合对象内部结构的情况下遍历集合中所有元素。在本文中,我们将介绍迭代器模式的概念和原理,提供一个基于Java的示例,并探讨在Android应用程序开发中的实际应用。 迭代器模式的概…

[深入理解SSD系列 闪存2.1.5] NAND FLASH基本读操作及原理_NAND FLASH Read Operation源码实现

前言 上面是我使用的NAND FLASH的硬件原理图,面对这些引脚,很难明白他们是什么含义, 下面先来个热身: 问1. 原理图上NAND FLASH只有数据线,怎么传输地址? 答1.在DATA0~DATA7上既传输数据,又传输地址 当ALE为高电平时传输的是地址, 问2. 从NAND FLASH芯片手册可知,要…

数据挖掘(2.2)--数据预处理

目录 二、数据描述 1.描述数据中心趋势 1.1平均值和截断均值 1.2加权平均值 1.3中位数(Median)和众数(Mode) 2.描述数据的分散程度 2.1箱线图 2.2方差和标准差 2.3正态分布 3.数据清洗 3.1数据缺失的处理 3.2数据清洗 二、数据描述 描述数…

手把手教你安装Linux!!!

文章目录Linux简述它们的区别安装CentOS①下载CentOS②安装Linux有两种方式③下载模拟软件④安装vmware⑤创建虚拟机⑥安装操作系统Linux简述 在国内比较流行的两款Linux发行版本CentOS和ubuntu 它们的区别 ubuntu:页面更加的华丽比较漂亮,它对计算机…

linux面试高级篇

题目目录1.虚拟机常用有几种网络模式?请简述其工作原理或你个人的理解?2. Dockerfile中最常见的指令是什么?3.docker网络模式有哪些?4.Kubernetes有哪些核心组件这些组件负责什么工作?5. Pod是什么?6.描述一…