Une façon un peu hackeuse de le faire est de post-traiter le résultat de GROUP_CONCAT :
substring_index(group_concat(s.title SEPARATOR ','), ',', 3) as skills
Bien sûr, cela suppose que vos noms de compétences ne contiennent pas de virgules et que leur nombre est raisonnablement faible.
Une demande de fonctionnalité
pour GROUP_CONCAT pour prendre en charge une LIMIT explicite clause n'est malheureusement toujours pas résolue.
MISE À JOUR :En tant qu'utilisateur Fraise
le souligne, le tableau player_skills devrait avoir le tuple (player_id, skill_id) comme clé primaire, sinon le schéma permet d'attribuer plusieurs fois la même compétence à un joueur, auquel cas group_concat ne fonctionnerait pas comme prévu.