Laravel错误:1140混合的GROUP列(MIN(),MAX(),COUNT() [英] Laravel error: 1140 Mixing of GROUP columns (MIN(),MAX(),COUNT()

查看:92
本文介绍了Laravel错误:1140混合的GROUP列(MIN(),MAX(),COUNT()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

熟悉此Laravel错误的人:

Anyone familiar with this Laravel Error:

"SQLSTATE [42000]:语法错误或访问冲突:1140如果没有GROUP BY子句,则将GROUP列(MIN(),MAX(),COUNT(),...)与GROUP列混合使用是非法的(SQL:选择办公室,从feedback选择avg(q1)作为q1,平均avg(q2)作为q2)"

"SQLSTATE[42000]: Syntax error or access violation: 1140 Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause (SQL: select office, avg(q1) as q1, avg(q2) as q2 from feedback)"

这是我的控制器代码:

$feedback_data = DB::table('feedback')
    ->select(DB::raw('office, avg(q1) as q1, avg(q2) as q2'))
    ->get();
return view('/feedback/index')->with('feedback_data', $feedback_data);

推荐答案

您必须使用groupBy():

$feedback_data = DB::table('feedback')
    ->select(DB::raw('office, avg(q1) as q1, avg(q2) as q2'))
    ->groupBy('office')
    ->get();

这篇关于Laravel错误:1140混合的GROUP列(MIN(),MAX(),COUNT()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆