Mysql
 sql >> Base de données >  >> RDS >> Mysql

GROUP_CONCAT avec limite

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.

violon

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.