Parce que vous n'avez pas utilisé le GROUP BY clause dans votre requête. Lors de l'utilisation de fonctions d'agrégation telles que GROUP_CONCAT vous devez indiquer à la base de données la colonne à l'aide de laquelle vous souhaitez combiner vos données.
Actuellement, votre requête regroupe tous les enregistrements et donne 1 enregistrement dans la sortie.
Si vous ajoutez GROUP BY users.userid dans la requête, les enregistrements seront regroupés par ID utilisateur unique. J'ai mis à jour votre violon et il donne maintenant 2 enregistrements :https://www.sqlfiddle. com/#!2/867f6/18
Remarque :dans les requêtes SQL standard, les colonnes répertoriées dans la clause GROUP BY doivent correspondre à la colonne de la clause SELECT (à l'exception des fonctions d'agrégation).