$result = Db::table('kms_zan')->groupBy('openid')->get();
SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'hmh5.kms_zan.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by (SQL: select * from kms_zan
group by openid
)
求教这个问题是怎么回事??
我自己找到原因了,mysql版本太高了,不兼容导致的。。。
降低mysql版本并没有什么用,后来发现,真正的原因是webman用的数据库连接是laravel的那套,在配置文件中关闭严格模式,问题解决,方法是 config/database.php文件中 strict => false ok问题到此彻底解决
MySQL版本是5.6吗?
用any_value 函数就好了
这错误信息描述的很清晰:
你的select字句查询的字段不在group by子句中,原因是:sql_mode的配置包含了only_full_group_by。
如果你想select * from kms_zan group by openid符合你的预期,则修改sql_mode配置,即:去掉only_full_group_by
any_value 函数了解一下