mysql 報(bào)錯(cuò),不太懂
問題描述
問題解答
回答1:正常select后面的字段只能是group by中的字段或者是聚合函數(shù),例如:
select a,max(b) from t group by a;
但你會(huì)發(fā)現(xiàn),有時(shí)別人的mysql是這樣寫的,
select a,b,max(c) from t group by a;
為什么別人不報(bào)錯(cuò)呢?注意看下報(bào)錯(cuò)提示的最后一句sql_mode=only_full_group_bysql_mode是用來檢查SQL語句的合法性,當(dāng)配置為only_full_group_by時(shí),select字段要么是來自于聚集函數(shù)的結(jié)果,要么是來自于group by后中的字段值。因此,如果你想保證原來sql正常執(zhí)行,可以去修改下my.cnf的配置,把sql_mode=only_full_group_by注釋掉,在前面加#號(hào)
回答2:你 groupby ymf.u.uid 但是沒有放進(jìn)select的字段里吧?
回答3:將sql一起貼出來
回答4:你在使用group by的時(shí)候,所要select的字段必須在group by中,聚合查詢除外。
回答5:謝邀,方便的話貼一下你的代碼,看錯(cuò)誤的話應(yīng)該是 你查詢的字段 不在 GROUP BY 里面,詳細(xì)的話 還是要看你的 sql語句。
相關(guān)文章:
