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 :http://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).