Mysql
 sql >> Datenbank >  >> RDS >> Mysql

GROUP_CONCAT mit Limit

Eine etwas trickreiche Methode besteht darin, das Ergebnis von GROUP_CONCAT nachzubearbeiten :

substring_index(group_concat(s.title SEPARATOR ','), ',', 3) as skills

Dies setzt natürlich voraus, dass Ihre Fertigkeitsnamen keine Kommas enthalten und dass ihre Anzahl angemessen klein ist.

Geige

Eine Funktionsanfrage für GROUP_CONCAT um ein explizites LIMIT zu unterstützen Klausel ist leider immer noch nicht gelöst.

AKTUALISIEREN :Als Benutzer Strawberry weist darauf hin, die Tabelle player_skills sollte das Tupel (player_id, skill_id) haben als Primärschlüssel, andernfalls erlaubt das Schema die mehrfache Zuweisung derselben Fähigkeit zu einem Spieler, in diesem Fall group_concat würde nicht wie erwartet funktionieren.