我有以下查询
$months = \App\DATA::select(
DB::raw('sum(order_value) as `sums`'),
DB::raw("DATE_FORMAT(created_at,'%M %Y') as months")
)
->where("created_at", ">", \Carbon\Carbon::now()->subMonths(6))
->groupBy('months')
->get();
得出过去6个月中每个月的数据总和。问题在于它以字母顺序输出日期。
August 2019
July 2019
June 2019
May 2019
November 2019
October 2019
September 2019
我不能用来订购它orderBy
:
->orderBy('created_at')
由于以下问题
SQLSTATE [42000]:语法错误或访问冲突:1055 ORDER BY子句的表达式#1不在GROUP BY子句中,并且包含未聚合的列
如何按日期订购?
尝试使用max
功能和->orderBy('createdAt', 'desc')
。
$months = \App\DATA::select(
DB::raw('sum(order_value) as `sums`'),
DB::raw("DATE_FORMAT(created_at,'%M %Y') as months"),
DB::raw('max(created_at) as createdAt')
)
->where("created_at", ">", \Carbon\Carbon::now()->subMonths(6))
->orderBy('createdAt', 'desc')
->groupBy('months')
->get();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句