【问题标题】:how to limit the result for each category in laravel如何限制laravel中每个类别的结果
【发布时间】:2020-02-27 23:07:41
【问题描述】:
$user_info = DB::table('category_user')
                 ->select('user_id','category', DB::raw('count(*) as total'))
                 ->groupBy('user_id','category')
                 ->limit(3)
                 ->orderBy('total', 'desc')
                 ->get();

我编写的代码只会显示所有类别的 3 个结果

我想将每个类别的结果限制在前 3 位,例如有 10 个类别,每个类别中有很多数据,我只想显示每个类别的前 3 位。

【问题讨论】:

    标签: sql count limit laravel-5.8 rank


    【解决方案1】:

    你可以试试这个吗?

    $user_info = DB::table('category_user')
                     ->select('user_id','category', DB::raw('count(*) as total'))
                     ->groupBy('user_id','category')->map(function($q){
                           return $q->take(3);
                       })->orderBy('total', 'desc')
                     ->get();
    

    【讨论】:

      猜你喜欢
      • 2011-01-01
      • 2015-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多