关于sql_mode里的ONLY_FULL_GROUP_BY

em…我也是7.1,会不会是个bug…

CREATE TABLE aaa(id INT,a VARCHAR(2),b VARCHAR(2));

INSERT INTO aaa VALUES(1,1,1);

INSERT INTO aaa VALUES(1,1,2);

INSERT INTO aaa VALUES(1,2,3);

SELECT id,a,MAX(b) FROM aaa GROUP BY id;
执行下看看

看能不能稳定复现,如果是确定 bug 的话,我反馈给研发他们看看

你这个案例可以触发警告,是没有主键吧,文档没说和主键的关系

还真跟主键有关系。。。。
CREATE TABLE ccc(id INT AUTO_INCREMENT,a VARCHAR(2),b VARCHAR(2),PRIMARY KEY (id));

INSERT INTO ccc VALUES(1,1,1);

INSERT INTO ccc VALUES(2,2,2);

INSERT INTO ccc VALUES(3,3,3);

SELECT id,a,MAX(b) FROM ccc GROUP BY id;
这样就可以。。。。

4 个赞

这样的话,a是按什么取值的?max?

其实是因为这种方式,id是主键,只能有一条数据,所以后面的a,MAX(b)结果是固定的。。。一个id对应的a和b只有一条啊。。。

哦,对对对,突然就想明白了 :thinking:

globle和session要注意下

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。