首页 > 数据库 >MYSQL查询语句报1 of ORDER BY clause is not in SELECT list

MYSQL查询语句报1 of ORDER BY clause is not in SELECT list

时间:2024-06-17 13:55:06浏览次数:26  
标签:语句 clause alarm list 查询 MYSQL ORDER id SELECT

我的语句如下:

SELECT DISTINCT
	r.id,
	r.device_model_id,
	r.device_model_name,
	r.alarm_type_id,
	r.alarm_type_name,
	r.alarm_level,
	r.filter_condition,
	r.filter_condition_value,
	r.offline_tag,
	p.param_data_id,
	p.parms 
FROM
	alarm_rule r,
	alarm_rule_parms p 
WHERE
	r.id = p.alarm_rule_id 
ORDER BY
	r.update_date DESC 
	LIMIT 10;

  执行报了如下错误:

1 of ORDER BY clause is not in SELECT list, references column 'general_mills.r.update_date' which is not in SELECT list; this is incompatible with DISTINCT

  这里原因提示的很清楚我的SELECT语句中,没有包含GROUP BY排序的依据字段`r.update_date`,在语句中加上就可以解决此问题。

但是此处我并没有这么做,因为这是程序报错日志中内容,可能还有很多地方查询都是这种方式进行的,所以应该有其他配置项来支持以上的查询语句能得出结果的。

SQL禁用`ONLY_FULL_GROUP_BY`

# 查询SQL模式
SELECT @@sql_mode;

# 全局禁用ONLY_FULL_GROUP_BY
SET GLOBAL sql_mode = (SELECT REPLACE(@@sql_mode, 'ONLY_FULL_GROUP_BY', ''));

  此处与SQL查询模式有关!

 

标签:语句,clause,alarm,list,查询,MYSQL,ORDER,id,SELECT
From: https://www.cnblogs.com/ggborn-001/p/18252220

相关文章

  • MySQL 5.7 安装教程(Win 10)
    转自:https://www.cnblogs.com/swjian/p/11907600.htmlMySQL5.7下载官网下载(不推荐使用):https://dev.mysql.com/downloads/mysql/清华镜像站下载(推荐):https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql-5.7.27-winx64.zipMySQL5.7解压将下载完的zi......
  • 绘制MySQL数据库的实体关系图(ERD)与逻辑模型图
    绘制MySQL的实体关系图(ERD,Entity-RelationshipDiagram)和数据库模型图对于理解和设计数据库结构非常重要。这些图表有助于可视化数据库中的表、列、关系以及约束。以下是一些步骤和工具,你可以使用它们来创建这些图表。步骤确定实体:首先,确定你的数据库中的实体(或称为表......
  • MySQL中的锁机制及其应用
    MySQL中的锁是用于确保数据完整性和一致性的重要机制。当多个事务尝试同时访问或修改同一数据时,锁可以防止并发问题,如脏读、不可重复读和幻读。MySQL提供了多种类型的锁,以满足不同的应用场景和性能需求。以下是MySQL中常见的锁类型:共享锁(SharedLocks,S锁)和排他锁(Exclusi......
  • 【Mysql】Windows下安装和配置Mysql
    一、下载官网下载Mysql:https://dev.mysql.com/downloads/mysql/百度网盘链接mysql-8.0.31:https://pan.baidu.com/s/1CiW7oL8fR05NPZT55_9DUQ?pwd=0724提取码:0724二、解压下载完成后我们得到的是一个压缩包,将其解压,我们就可以得到MySQL8.0.31的软件本体了(就是一个文件夹),我......
  • MySQL使用命令导出数据库
    MySQL自带了一个命令行工具mysqldump,可以方便的将数据导出至文件使用案例mysqldump-uroot-p数据库名称>xxx.sql#再输入密码即可#增加过滤条件mysqldump-uroot-p数据库名称表名称--where="id>1000">xxx.sql过滤条件#仅导出数据而不包含表结构--no-crea......
  • MySQL where 操作符
    MySqlWHERE操作符号前言在WHERE子句中,你可以使用任何条件对记录进行过滤。准备工作准备users表,并插入数据#创建用户表userscreatetableusers(idintAUTO_INCREMENTnotnullprimarykey,namevarchar(255),ageint,jobvarchar(255),......
  • SHOW PROCESSLIST 最多能显示多长的 SQL?
    在MySQL中,如果我们想查看实例当前正在执行的SQL,常用的命令是SHOWPROCESSLIST。但如果SQL过长的话,就会被截断。这时,我们一般会用SHOWFULLPROCESSLIST来查看完整的SQL。最近碰到一个case,发现无论是使用 SHOWPROCESSLIST、SHOWFULLPROCESSLIST,还是performance_schem......
  • 9、docker-mysql容器数据同步到本机-挂载
    1、查看镜像、下载镜像·dockersearchmysql·dockerpullmysql:5.7//指定下载5.7版本2、启动镜像-d后台运行-p端口映射主机端口:容器端口-v卷挂载-e环境配置这里配置的是数据库的密码--name容......
  • MySQL 远程访问失败的原因及解决方案
    原文地址:MySQL远程访问失败的原因及解决方案_mysql远程访问失败-CSDN博客文章目录1、失败的原因1.1、`/etc/mysql/my.cnf`文件中`bind-address=127.0.0.1`没有注释掉1.2、端口`3306`没有开放,使用`ss-tlnp`命令查看网络端口开启状态1.3、在`MySQL`数据库`user`表中`host`......
  • MySQL和PostgreSQL
    首先,两个数据区连接驱动不一样,选用相应的依赖即可语法区别:1.TIMESTAMPTZ类型与LocalDateTime不匹配,异常信息如下:PSQLException:CannotconvertthecolumnoftypeTIMESTAMPTZtorequestedtypejava.time.LocalDateTime如果postgres表的字段类型是TIMESTAMPTZ ,但是java对......