Mysql
 sql >> Base de données >  >> RDS >> Mysql

La requête utilisant group_concat ne renvoie qu'une seule ligne

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).