$sql = UserRelationMap::select('inviter_id','business_id',
DB::raw('COUNT(id) as num,any_value(id) as id,any_value(project_id) as project_id,any_value(employee_id) as employee_id'),
DB::raw('ROW_NUMBER() OVER (PARTITION BY business_id ORDER BY COUNT(id) DESC) AS sumprice_rank'))
->whereRaw('inviter_id <>0 and employee_id <> 0')
->groupBy('business_id','inviter_id');
$list = UserRelationMap::with(['project:id,project_name','business:id,name','employee:id,name,true_name'])
->from(DB::raw("({$sql->toSql()}) as ranks"))
->where('ranks.sumprice_rank','<',21)
->orderByRaw('ranks.business_id asc, ranks.num desc');
laravel 实现分组前几名
最新推荐文章于 2023-09-20 17:19:17 发布
本文介绍了一种使用SQL进行复杂数据查询的方法,通过运用高级SQL技巧,如子查询、窗口函数及连接操作,实现了对特定业务场景的数据高效检索。该查询旨在统计特定条件下用户的邀请关系,并按业务需求进行了排序。
1300

被折叠的 条评论
为什么被折叠?



