mysql group by 后select的字段受限的解决办法

tech2026-02-07  2

mysql group by 后select的字段受限的解决办法

mysql某个版本之前要求,group by后的,再select的字段必须是group by的字段或者是聚合函数,为了解决这个限制,一般有两种方法:

方法1:修改配置文件(没试过,我的数据库服务器文件不在本地

方法2:使用any_value函数抑制group by 的ONLY_FULL_GROUP_BY

select id,name,class from student group by id;

【执行失败】

改为:

select id,any_value(name),any_value(class) from student group by id;

【执行成功,但是要注意使用any_value函数后,原本的列名会被修改为any_value(name),这样在SpringBoot项目中映射时不会报错,但是结果会错乱。】 所以,最好在使用any_value函数后再给列起个别名,如:

select id,any_value(name) name ,any_value(class) class from student group by id;
最新回复(0)