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;