Mysql
 sql >> Database >  >> RDS >> Mysql

GROUP_CONCAT con limite

Un modo un po' complicato per farlo è post-elaborare il risultato di GROUP_CONCAT :

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

Ovviamente questo presuppone che i nomi delle tue abilità non contengano virgole e che il loro importo sia ragionevolmente piccolo.

violino

Una richiesta di funzionalità per GROUP_CONCAT per supportare un esplicito LIMIT la clausola purtroppo non è ancora risolta.

AGGIORNAMENTO :Come utente Fragola fa notare la tabella player_skills dovrebbe avere la tupla (player_id, skill_id) come chiave primaria, altrimenti lo schema consente di assegnare la stessa abilità a un giocatore più volte, nel qual caso group_concat non funzionerebbe come previsto.