惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Spread Privacy
Spread Privacy
L
LangChain Blog
爱范儿
爱范儿
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Google DeepMind News
Google DeepMind News
有赞技术团队
有赞技术团队
博客园 - 【当耐特】
人人都是产品经理
人人都是产品经理
H
Hackread – Cybersecurity News, Data Breaches, AI and More
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Engineering at Meta
Engineering at Meta
P
Privacy International News Feed
I
Intezer
NISL@THU
NISL@THU
Jina AI
Jina AI
G
GRAHAM CLULEY
C
CERT Recently Published Vulnerability Notes
S
Schneier on Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Cisco Talos Blog
Cisco Talos Blog
Scott Helme
Scott Helme
MyScale Blog
MyScale Blog
IT之家
IT之家
Security Latest
Security Latest
C
Cisco Blogs
Cyberwarzone
Cyberwarzone
aimingoo的专栏
aimingoo的专栏
V
Vulnerabilities – Threatpost
L
LINUX DO - 热门话题
Recorded Future
Recorded Future
The Hacker News
The Hacker News
C
CXSECURITY Database RSS Feed - CXSecurity.com
月光博客
月光博客
A
Arctic Wolf
云风的 BLOG
云风的 BLOG
N
Netflix TechBlog - Medium
K
Kaspersky official blog
S
Securelist
M
MIT News - Artificial intelligence
T
Threat Research - Cisco Blogs
P
Palo Alto Networks Blog
Simon Willison's Weblog
Simon Willison's Weblog
Know Your Adversary
Know Your Adversary
WordPress大学
WordPress大学
Project Zero
Project Zero
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
N
News and Events Feed by Topic
AWS News Blog
AWS News Blog
T
The Exploit Database - CXSecurity.com
T
The Blog of Author Tim Ferriss

博客园 - 代码猫

Spring boot 打成jar包,并运行jar包。 MySQL中两个DateTime字段相减,得到秒,分,天数 mybatis中大于等于小于等于的写法 Spring boot 自定义注解,Java通过反射获取注解,及注解的说明,附源码下载! Spring boot 自定义注解+@Aspect实现切面输出日志,附源码下载! HTML5 Canvas基础教程 SpringBoot+Jpa动态切换多数据源配置及实现 MySQL使用DATE_FORMAT()函数格式化日期 Java List转String数组与String数组转List MySQL使用IF函数来动态执行where条件 JPA忽略实体类某属性,不持久化某字段的解决方法 git 常用命令 Windows系统CMD窗口下,MySQL建库、还原数据库命令操作示例 Java JPA 报java.lang.IllegalArgumentException: Validation failed for query for method public abstract ...异常的一种原因和解决办法 Java8使用实现Runnable接口方式创建新线程的方法 windows查看端口被占用情况 Windows环境下设置Tomcat8以服务的形式运行,不再打开Tomcat窗口 MySql添加字段命令 Java中String、LocalDateTime、LocalDate、Date互转
MySQL 5.7 执行SQL报错:1055 - Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 的解决办法
代码猫 · 2019-12-25 · via 博客园 - 代码猫

背景

项目中的MySQL服务器一直使用的公司内网测试服务器,前几天内网测试服务器出问题了,MySQL挂了不能提供服务,所以在本机安装了MySQL5.7.20版本(通过解压官网下载的压缩包并使用命令来安装的方式)。

项目跑起来,有些功能使用不了,查了原因,是因为执行下面的SQL报异常了:

SELECT
    rd.EQU_CD AS EQUCD,
    rd.EQU_TYPE AS EQUTYPE,
    DATE_FORMAT( rd.TM, '%Y-%m-%d' ) AS tm,
    sum( rd.ACCW ) ACCW 
FROM
    t_receivedata rd
    INNER JOIN ( SELECT ENG_MAN_CD, EQU_CD, EQU_TYPE FROM t_monitor GROUP BY ENG_MAN_CD, EQU_CD ) mt ON rd.EQU_CD = mt.EQU_CD 
WHERE
    mt.ENG_MAN_CD IS NOT NULL 
    AND mt.EQU_TYPE IS NOT NULL 
    AND YEAR ( rd.TM ) = 2019 
    AND MONTH ( rd.TM ) = 12 
GROUP BY
    DATE_FORMAT( rd.TM, '%Y-%m-%d' ),
    rd.EQU_TYPE 
ORDER BY
    TM ASC;

异常信息如下:

1055 - Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column

原因

MySQL 5.7.5 及以上功能依赖检测功能。如果启用了ONLY_FULL_GROUP_BY SQL 模式(默认情况下),MySQL将拒绝选择列表,HAVING 条件或 ORDER BY 列表的查询引用在 GROUP BY 子句中既未命名的非集合列,也不在功能上依赖于它们。(5.7.5之前,

MySQL没有检测到功能依赖关系,默认情况下不启用ONLY_FULL_GROUP_BY。)

解决

以Windows操作系统为例,编辑 MySQL配置文件 my.ini,在尾部添加以下内容,重新启动 MySQL 即可:

[mysqld] 
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

注意:如果你的my.ini文件中已经存在[mysqld]这行,就无需再添加了,只需要在[mysqld]下面添加sql_mode...这一行就行了。

参考

https://blog.csdn.net/yuanlaijike/article/details/87926596