Si vous voulez obtenir des égalités, vous pouvez faire quelque chose comme ceci :
select s.*
from scores s
where s.score = (select max(s2.score) from scores s2 where s2.level = s.level);
Vous pourriez obtenir une ligne par niveau en agrégeant ceci :
select s.level, s.score, group_concat(s.user_id)
from scores s
where s.score = (select max(s2.score) from scores s2 where s2.level = s.level)
group by s.level, s.score;
Cela combine les utilisateurs (s'il y en a plusieurs) dans un seul champ.