【问题标题】:Get SUM form last 2 rows input with laravel使用 laravel 获取最后 2 行输入的 SUM
【发布时间】:2020-07-23 20:20:04
【问题描述】:

我有这样的表: enter image description here

我想从最后 2 行输入的“总计”字段中获取总和,

这是我的代码:

$data = DB::table('packagings')->where('plant',$pt->plant)->orderBy('id','desc')->limit(2)->sum('total');

但我的代码从字段“总计”中获取所有总和

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    Mysql 会先从表packagings 中求和total,这将成为一条记录,然后从一条记录中取出两条记录。所以它总是从字段total返回所有总和。

    采集方式:

    $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');
    

    【讨论】:

    • 你好 Koga,谢谢你的帮助。
    猜你喜欢
    • 1970-01-01
    • 2018-06-24
    • 2014-01-31
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多