Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何从表中获取昨天记录,然后对Laravel 7中昨天记录的字段求和_Mysql_Laravel_Sum_Aggregate Functions - Fatal编程技术网

Mysql 如何从表中获取昨天记录,然后对Laravel 7中昨天记录的字段求和

Mysql 如何从表中获取昨天记录,然后对Laravel 7中昨天记录的字段求和,mysql,laravel,sum,aggregate-functions,Mysql,Laravel,Sum,Aggregate Functions,我有一个包含4个字段/列a、B、C、D的表。现在我需要从表中获取最后一个或昨天的记录,然后将a、B字段/列的和作为结果1,将C、D字段/列的和作为结果2。请检查图像以便更好地理解。问题是,我得到的是昨天的数据,但总和不起作用 $all = Corona::orderBy('created_at', 'desc')->skip(1)->take(1)->first(); $Result = array( 'Result1' => $all->map(

我有一个包含4个字段/列a、B、C、D的表。现在我需要从表中获取最后一个或昨天的记录,然后将a、B字段/列的和作为结果1,将C、D字段/列的和作为结果2。请检查图像以便更好地理解。问题是,我得到的是昨天的数据,但总和不起作用

$all = Corona::orderBy('created_at', 'desc')->skip(1)->take(1)->first();
 
 $Result = array(

     'Result1' => $all->map(function($all){ return $all->A; })->sum()+
                         $all->map(function($all){ return $all->B; })->sum(),                         
                         
     'Result2' => $all->map(function($all){ return $all->C; })->sum()+
                         $all->map(function($all){ return $all->D; })->sum()       
     );

您必须像下面这样添加

->value(DB::raw("SUM(A + B) AS some_name"));
$yourdate = "2020-08-02 07:24";
$stats = Corona::where('created_at', $yourdate)
                ->value(DB::raw("SUM(A + B) AS some_name"));
您的查询如下所示

->value(DB::raw("SUM(A + B) AS some_name"));
$yourdate = "2020-08-02 07:24";
$stats = Corona::where('created_at', $yourdate)
                ->value(DB::raw("SUM(A + B) AS some_name"));

您必须添加,如下所示

->value(DB::raw("SUM(A + B) AS some_name"));
$yourdate = "2020-08-02 07:24";
$stats = Corona::where('created_at', $yourdate)
                ->value(DB::raw("SUM(A + B) AS some_name"));
您的查询如下所示

->value(DB::raw("SUM(A + B) AS some_name"));
$yourdate = "2020-08-02 07:24";
$stats = Corona::where('created_at', $yourdate)
                ->value(DB::raw("SUM(A + B) AS some_name"));

它对A,B的所有记录求和,然后将结果A和B相加。我不希望这样,我希望,它只对A和B的最后一条记录求和,然后返回一个结果。你能检查一下我想要的吗?你只需要在where条件下传递你的日期…它对A,B的所有记录求和,然后将结果A和B相加。我不想这样,我想,它只对A和B的最后一个记录求和,然后返回一个结果。你能检查一下我想要的吗。你只需要通过你的日期在哪里条件。。。