我已经搜索了两个小时,了解如何使用groupBy和orderBY构建一个有说服力的查询。
这是我的情况:我有一个表订单与这些列:
idOfOrder, quantityOfProduct, userWhoBuy, productBuy, statusOfOrder
我想买3种最畅销的产品。为此,我需要构建一个查询,它将ProductBy中的所有数据分组,将quantity中的主题求和,并将主题按desc排序。但这非常困难。
这是我的实际问题:
$buyObj->select('product',DB::raw('count(*) as total'))
->where('status','=','1')
->groupBy('product')
->orderBy('quantity','desc')
->take(3)
->get();
我得到这个错误:
SQLSTATE[42000]:语法错误或访问冲突: 1055 ORDER BY子句的表达式#1不在GROUP BY子句中,包含非聚合列“web_projet_exia.buys.quantity”,该列在功能上不依赖于GROUP BY子句中的列;这与sql_mode=only_full_group_by(SQL:选择产品
,从购买
,其中状态
=1组按产品
顺序按数量
desc限制3)中计数(*)为总数
你知道怎么修吗?
提前谢谢!
解决办法是按总量而不是按数量订购。感谢@JonasStaudenmeir
我对雄辩的质询有意见。我正在使用渴望加载(一对多多态关系)来排序“historyable”。日期见下文。 我试着得到这样的结果 是否有可能运行嵌套懒惰渴望加载Laravel? 产品型号 历史模型 产品控制器 我有这样的数据库
我有一个小问题,当我试图通过使用雄辩的模型在列中创建_来排序记录时。订单是按日期而不是按时间进行的。例如,如果我有3条记录的值为created_at: > 2017-07-04 07:16:33 2017-07-04 05:35:01 2017-07-04 05:27:48 使用orderby('created_at','desc')或'asc'时,我有相同的输出。但是,如果我有,订购就可以了 2
嘿,伙计们,我是拉威尔的新朋友。我有这张桌子 我如何能够获取每个科目的is_correct列计数? 谢谢伙计们!
我读过laravel 4文档中关于ququent的内容,并且对push()部分很感兴趣。它说, 有时,您可能不仅希望保存模型,还希望保存其所有关系。为此,您可以使用推送方法: 保存模型和关系
如何将以下查询转换为Laravel4雄辩ORM?
问题内容: 我想返回所有类别的所有项目。 此查询我现在返回的类别为1或2或3的项目。我需要返回的类别为1和2以及3的项目。 我怎样才能做到这一点? 问题答案: 试试这个: 使用查询将仅返回具有所有列出类别的项目。