$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名。
答案 0 :(得分:0)
你可以试试吗?
$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();