为了账号安全,请及时绑定邮箱和手机立即绑定

this is incompatible with sql_mode=only_full_group_by

MySQL版本5.7.14;

SQL语句:

mysql> SELECT id,sex,age FROM users_0 GROUP BY age;

ERROR:

ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'testdb.users_0.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

似乎在SELECT后的字段必须全部出现在GROUP BY之后,否则都会出现以上错误.

请问什么原因,如何解决?

正在回答

2 回答

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

1 回复 有任何疑惑可以回复我~
#1

陈某人路过 提问者

非常感谢!能否解释下这两句的作用影响?
2016-08-25 回复 有任何疑惑可以回复我~

可以查看mysql5.1参考手册 5.3.2 SQL服务器模式 一节

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
与MySQL的零距离接触
  • 参与学习       396886    人
  • 解答问题       3353    个

本课程涵盖全部MySQL数据库的基础,学习MySQL数据库的基础知识

进入课程

this is incompatible with sql_mode=only_full_group_by

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信