当使用group by的语句中,select后面跟的列,在group by后面没有时,会报以下错误:

Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'XXX' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

这是MySQL8.0默认开启only_full_group_by模式导致的,该模式限定select后面跟的列,在group by后面必须要有。

解决方式一:该方式重启mysql会失效

1、查询sql_mode:

select @@session.sql_mode;

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

2、重新设置sql_mode,删除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'

解决方式二

修改配置文件my.cnf

找到my.cnf,添加一下配置:

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

重启mysql即可。

service mysqld restart

最新文章

  1. CentOS下mysql数据库常用命令总结
  2. Parallel并行化编程
  3. 《ASP.NET1200例》ListView 控件与DataPager控件的结合<一>
  4. 如何在安装32位Oracle客户端组件的情况下以64位模式运行
  5. BZOJ 2296 随机种子
  6. Spring3之Security
  7. eclipse 分屏
  8. 02-测试、文件读写、xml解析
  9. 感知器算法--python实现
  10. 起底区块链人脸识别黑马,一个没有人像的人脸识别:iFace Chain(爱妃链)
  11. Git使用全解
  12. jquery load 陷阱【原】
  13. oracle杀掉连接
  14. os模块+sys模块+random模块+shutil模块
  15. vins-mono代码解读
  16. 使用 Spring 2.5 注释驱动的 IoC 功能
  17. HTML标签之marquee
  18. [转贴] 数字证书及 CA 的扫盲介绍
  19. 元程序 /如何取test.py中name的值
  20. Datatable.Select()用法简介

热门文章

  1. jekins 入门
  2. [转]C#的反射
  3. VS2019使用gtest
  4. APP学习3
  5. 【git】3.5 git分支-远程分支
  6. NVIDIA的GPU算力Compute Capalibity
  7. selenium爬取PDF预览文件
  8. RPS网卡多队列
  9. 发现C++程序中未释放的内存空间
  10. Dinic的几种复杂度