84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
业精于勤,荒于嬉;行成于思,毁于随。
正常select后面的字段只能是group by中的字段或者是聚合函数,例如:
select a,max(b) from t group by a;
但你会发现,有时别人的mysql是这样写的,
select a,b,max(c) from t group by a;
为什么别人不报错呢?注意看下报错提示的最后一句sql_mode=only_full_group_bysql_mode是用来检查SQL语句的合法性,当配置为only_full_group_by时,select字段要么是来自于聚集函数的结果,要么是来自于group by后中的字段值。因此,如果你想保证原来sql正常执行,可以去修改下my.cnf的配置,把sql_mode=only_full_group_by注释掉,在前面加#号
你 groupby ymf.u.uid 但是没有放进select的字段里吧?
将sql一起贴出来
你在使用group by的时候,所要select的字段必须在group by中,聚合查询除外。
谢邀,方便的话贴一下你的代码,看错误的话应该是 你查询的字段 不在 GROUP BY 里面,详细的话 还是要看你的 sql语句。
正常select后面的字段只能是group by中的字段或者是聚合函数,例如:
但你会发现,有时别人的mysql是这样写的,
为什么别人不报错呢?
注意看下报错提示的最后一句sql_mode=only_full_group_by
sql_mode是用来检查SQL语句的合法性,当配置为only_full_group_by时,select字段要么是来自于聚集函数的结果,要么是来自于group by后中的字段值。
因此,如果你想保证原来sql正常执行,可以去修改下my.cnf的配置,把sql_mode=only_full_group_by注释掉,在前面加#号
你 groupby ymf.u.uid 但是没有放进select的字段里吧?
将sql一起贴出来
你在使用group by的时候,所要select的字段必须在group by中,聚合查询除外。
谢邀,方便的话贴一下你的代码,看错误的话应该是 你查询的字段 不在 GROUP BY 里面,详细的话 还是要看你的 sql语句。