执行sql group by查询时报错

SELECT id from userz GROUP BY username

Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'userinfo.

原因:

mysql实现了对功能依赖的检测,如果启用了only_full_group_by sql模式(在默认情况下是这样),那么mysql就会拒绝选择列表、条件或顺序列表引用的查询,这些查询将引用组中未命名的非聚合列,而不是在功能上依赖于它们

执行以下命令,可以查看sql_mode的内容

mysql> SHOW SESSION VARIABLES;

mysql> SHOW GLOBAL VARIABLES;

mysql> select @@sql_mode;

可见session和global 的sql_mode的值都为:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

only_full_group_by说明:
only_full_group_by :使用这个就是使用和oracle一样的group 规则, select的列都要在group中,或者本身是聚合列(SUM,AVG,MAX,MIN) 才行,其实这个配置目前个人感觉和distinct差不多的,所以去掉就好

解决:

执行以下两个命令:

mysql> set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

mysql> set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

这两个命令的作用是去掉 sql_mode 的 ONLY_FULL_GROUP_BY

参考https://blog.csdn.net/fansili/article/details/78664267

最新文章

  1. ES6中的const命令【转】
  2. 启动tomcat时 错误: 代理抛出异常 : java.rmi.server.ExportException: Port already in use: 1099;
  3. 之前想搞一个nim但因为是自用我会持续修复完善
  4. Java内存区域-- 运行时数据区域
  5. Spring的profile属性
  6. android 开源框架推荐
  7. ARM学习笔记9——ARM汇编汇编语言中的伪指令
  8. HttpWebRequest 写入报错
  9. 转:代码的坏味道之二十 :Data Class(纯稚的数据类)或POJO
  10. Commix命令注入漏洞利用
  11. Effective Java 第三版——24. 优先考虑静态成员类
  12. 20175211 2017-2018-2 《Java程序设计》第六周学习记录(2)
  13. spring事务 将多个connection放到一个线程中
  14. Grafana 安装及 Windows 应用程序服务配置工具 NSSM使用
  15. 《JavaScript Dom 编程艺术》读书笔记-第4章
  16. Android GUI之View测量
  17. MyBatis的深入原理分析之1-架构设计以及实例分析
  18. Codeforces Round #527 (Div. 3)
  19. 反射报错java.lang.IllegalArgumentException: wrong number of arguments
  20. QA规范

热门文章

  1. 基于consul构建golang系统分布式服务发现机制
  2. java中JSONObject与JSONArray的使用
  3. Hibernate每个子类一张表(使用注释)实例
  4. Spring MVC集成Log4j
  5. IDEA15入门常用设置
  6. Editor编辑器的一些用法
  7. MySQL的having子句
  8. xshell ftp报错:找不到匹配的outgoing encryption算法
  9. 【BZOJ4817】[Sdoi2017]树点涂色 LCT+线段树
  10. 为什么调用 GdiplusShutdown 函数会在 DllExports::GdipDeleteGraphics(nativeGraphics) 位置抛出异常?