Что-то наподобие такого:
SELECT `g`.`name`, `u`.`name`, `u`.`score`
FROM (
SELECT `ug`.`group_id` AS `group_id`, MAX(`u`.`score`) AS `score`
FROM `user_to_groups` AS `ug`
JOIN `users` AS `u` ON `u`.`id` = `ug`.`user_id`
GROUP BY `ug`.`group_id`
) AS `m`
JOIN `user_to_groups` AS `ug` ON `ug`.`group_id` = `m`.`group_id`
JOIN `users` AS `u` ON `u`.`id` = `ug`.`user_id` AND `u`.`score` = `m`.`score`
JOIN `groups` AS `g` ON `g`.`id` = `m`.`group_id`
Только если в группе будет несколько пользователей с максимальным `score`, то выдаст их всех.