mysql 报错,不太懂
迷茫
迷茫 2017-04-17 16:17:16
0
5
618
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(5)
Ty80

正常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_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语句。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!