解决大于5.7版本mysql的分组报错Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated

作者:Mr_Aihan 时间:2024-01-16 14:08:53 

原因:

MySQL 5.7.5和up实现了对功能依赖的检测。如果启用了only_full_group_by SQL模式(在默认情况下是这样),那么MySQL就会拒绝选择列表、条件或顺序列表引用的查询,这些查询将引用组中未命名的非聚合列,而不是在功能上依赖于它们。(在5.7.5之前,MySQL没有检测到功能依赖项,only_full_group_by在默认情况下是不启用的。关于前5.7.5行为的描述,请参阅MySQL 5.6参考手册。)

执行以下个命令,可以查看 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差不多的,所以去掉就好

解决:


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';<br data-filtered="filtered">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';<br data-filtered="filtered">

总结

以上所述是小编给大家介绍的解决大于5.7版本mysql的分组报错Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

来源:https://www.cnblogs.com/mrbinjie/archive/2019/10/30/11766055.html

标签:mysql,分组,报错
0
投稿

猜你喜欢

  • pyqt实现.ui文件批量转换为对应.py文件脚本

    2022-01-22 03:32:26
  • ASP FSO显示特殊文件夹的实现代码(畸形目录名、UNC路径)

    2012-11-30 20:10:46
  • 用jquery写的自动提示效果

    2008-06-17 14:27:00
  • MySQL中的主键自增机制详情

    2024-01-18 23:50:54
  • 百度“有啊”首页首次曝光 以绿色调为主

    2008-10-20 12:52:00
  • Python实现计算文件夹下.h和.cpp文件的总行数

    2022-09-20 00:54:51
  • 分析描述CentOS mysql安装系统

    2010-10-25 20:34:00
  • 基于python3实现倒叙字符串

    2023-02-02 17:41:28
  • Python深度强化学习之DQN算法原理详解

    2023-03-05 12:02:51
  • php生成图片验证码的实例讲解

    2023-09-11 21:36:29
  • mysql时间相减如何获取秒值

    2024-01-19 17:04:10
  • python中for用来遍历range函数的方法

    2022-01-28 03:04:53
  • SQLServer2005重建索引前后对比分析

    2024-01-27 17:27:09
  • 在Apache服务器上同时运行多个Django程序的方法

    2022-05-16 11:16:09
  • php ajax无刷新上传图片实例代码

    2024-04-17 10:40:02
  • 深入理解mysql的自连接和join关联

    2024-01-21 11:40:01
  • Access函数大全

    2009-12-23 19:22:00
  • Python面向对象编程repr方法示例详解

    2021-10-02 23:38:09
  • 通过mysql-proxy完成mysql读写分离

    2024-01-24 03:13:09
  • Python Spyder 调出缩进对齐线的操作

    2023-07-17 00:56:04
  • asp之家 网络编程 m.aspxhome.com