Mysql在执行Group By查询语句时出现Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggre的解决方式

这是因为在mysql5.7以上启用了严格模式,临时关闭:

在Navicat中执行下面的语句,重启Navicat即可。

SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

永久关闭:

在MySQL的配置文件my.ini中找到sql_mode,修改为

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

如果找不到sql_mode,则在[mysqld]下加入即可,然后重启mysql服务。

posted @ 2021-12-08 10:39  gimmick  阅读(3896)  评论(0编辑  收藏  举报