【问题标题】:How to get average of column values in laravel如何在laravel中获取列值的平均值
【发布时间】:2017-03-01 10:21:33
【问题描述】:

假设我有这个专栏

star
----
1    
3    
3    
1    
2    
5    
3

它有七行并且有整数值!我想将它添加并除以存在的行。

我如何在 laravel 中做到这一点。我可以用普通的 php 来做,但我想在 laravel 中学习。

【问题讨论】:

  • 如果您在数据库中有这些值,那么AVG() 会有所帮助。在 php array_sum($array)/count($array).

标签: php laravel laravel-5 laravel-5.3


【解决方案1】:

试试这个:

$avgStar = Model::avg('star');

“型号”将替换为您的型号名称

【讨论】:

    【解决方案2】:

    如果您想使用查询生成器来执行此操作,您可以使用聚合方法,例如 avg:

    $avg_stars = DB::table('your_table')
                    ->avg('star');
    

    Laravel 5 docs 关于聚合。

    【讨论】:

      【解决方案3】:

      如果您有更多列,您可以使用数据库管理器的本机功能DB::raw

      $products = DB::table('products')
                       ->select('id','name',DB::raw('round(AVG(quantity),0) as quantity'))
                       ->groupBy('id','name')
                       ->get();
      

      【讨论】:

        【解决方案4】:

        Table::Where('column', $case)->pluck('column')->avg()

        【讨论】:

        • 虽然此代码可能会解决问题,including an explanation 关于如何以及为什么解决问题将真正有助于提高您的帖子质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人。请edit您的答案添加解释,并说明适用的限制和假设。
        【解决方案5】:

        如果你需要添加多个条件试试这个:

        $avgStar = YourModel::Where(
          [
            ['column_1', '=', $case],
            ['column_2', '<>', 0]
            .....
          ])->pluck('star')->avg();
        
                                                                                       
             
                                                                                      
                                                                                      
        

        【讨论】:

          【解决方案6】:

          // 假设模型名称是 Review 和 Table name 是评论,你有一个 '星'列就可以了

          $value = Reviews::all();
          $value->avg('star');
          
          return view('page.name')->withValue($value);
          

          //它会计算star列的平均值

          【讨论】:

            猜你喜欢
            • 2018-12-30
            • 1970-01-01
            • 2022-01-08
            • 1970-01-01
            • 2020-10-01
            • 2012-03-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多