我有这样的表:enter image description here
我想从最后两行输入的字段'total‘中获取sum,
这是我的代码:
$data = DB::table('packagings')->where('plant',$pt->plant)->orderBy('id','desc')->limit(2)->sum('total');但是我的代码从字段'total‘中获取所有的sum
发布于 2020-04-11 10:23:25
Mysql将首先从表packagings中将total求和为一条记录,然后从一条记录中提取两条记录。因此它总是返回字段total中所有sum。
采集方式:
$data = DB::table('packagings')->where('plant',$pt->plant)->latest()->take(2)->get()->sum('total');查询构建器方式:
$sub = DB::table('packagings')->where('plant',$pt->plant)->latest()->take(2);
$data = DB::table(DB::raw("({$sub->toSql()}) AS sub"))->mergeBindings($sub)->sum('total');https://stackoverflow.com/questions/61151215
复制相似问题