MySQL 5.7版本sql_mode=only_full_group_by问题

MySQL 5.7中only_full_group_by这个模式是默认开启

解决方法一:执行SET GLOBAL sql_mode = ''; 把sql_mode 改成非only_full_group_by模式。验证是否生效 SELECT @@GLOBAL.sql_mode 或 SELECT @@sql_mode

 或Mysql控制台执行

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';

转自:https://stackoverflow.com/questions/37619417/mysql5-7-upgrade-issue-group-by-incompatible-with-sql-mode-only-full-group-by

解决方法二:在my.cnf(mysql配置文件里),添加

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查询语句中不需要group by的字段上使用any_value()函数 

原文地址:https://www.cnblogs.com/dudumao/p/8142692.html