Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

GROUP_CONCAT com limite


Uma maneira um pouco complicada de fazer isso é pós-processar o resultado de GROUP_CONCAT :
substring_index(group_concat(s.title SEPARATOR ','), ',', 3) as skills

É claro que isso pressupõe que seus nomes de habilidades não contenham vírgulas e que sua quantidade seja razoavelmente pequena.

violino

Uma solicitação de recurso para GROUP_CONCAT para suportar um LIMIT explícito cláusula infelizmente ainda não foi resolvida.

ATUALIZAÇÃO :como usuário Strawberry aponta, a tabela player_skills deve ter a tupla (player_id, skill_id) como sua chave primária, caso contrário, o esquema permite que a mesma habilidade seja atribuída a um jogador várias vezes, nesse caso group_concat não funcionaria como esperado.