RK
$users = Result::
query()
->select(\DB::raw('max(point) as max_point, user'))
->orderBy('
max_point', 'desc')
->groupBy('user')
->limit(10)
->get();
$results = Result::
query()
->joinSub($users, 'users', function ($join) {
$join->on('users.user', '=', 'results.user')
;
$join->on('users.max_point', '=', 'results.point');
})->get();