DOWNVOTE il est vraiment déroutant de nommer une chaîne de colonne, en lui donnant un nom qui ressemble à un type de données. Donc, toutes les réponses sont également affectées par cela, car les réponses semblent indiquer qu'elles spécifient un type de données lorsqu'elles spécifient un nom de colonne
barlop
2
@barlop a corrigé cela en modifiant les questions et réponses.
À partir du lien ci-dessus GROUP_CONCAT,: Cette fonction renvoie un résultat de chaîne avec les valeurs non NULL concaténées d'un groupe. Il renvoie NULL s'il n'y a pas de valeurs non NULL.
À partir du lien ci-dessus GROUP_CONCAT,: Cette fonction renvoie un résultat de chaîne avec les valeurs non NULL concaténées d'un groupe. Il renvoie NULL s'il n'y a pas de valeurs non NULL.
: - Dans MySQL, vous pouvez obtenir les valeurs concaténées des combinaisons d'expression. Pour éliminer les valeurs en double, utilisez la clause DISTINCT . Pour trier les valeurs dans le résultat, utilisez la clause ORDER BY. Pour trier dans l'ordre inverse , ajoutez le mot clé DESC (décroissant) au nom de la colonne que vous triez dans la clause ORDER BY. La valeur par défaut est l'ordre croissant; cela peut être spécifié explicitement à l'aide du mot clé ASC. Le séparateur par défaut entre les valeurs d'un groupe est la virgule («,»). Pour spécifier un séparateur explicitement, utilisez SEPARATOR suivi de la valeur littérale de chaîne qui doit être insérée entre les valeurs de groupe. Pour éliminer complètement le séparateur, spécifiez SÉPARATEUR '' .
Le résultat est tronqué à la longueur maximale donnée par la variable système group_concat_max_len, qui a une valeur par défaut de 1024 caractères, nous faisons donc d'abord:
Le résultat est tronqué à la longueur maximale donnée par la variable système group_concat_max_len, qui a une valeur par défaut de 1024 caractères. docs
marlo
Quelle est la portée de cette group_concat_max_lenconfig? Connexion / session actuelle, ou affectera-t-elle d'autres clients?
Cela ne répond pas à la question du PO mais ajoute simplement des informations utiles. Ce devrait être un commentaire, pas une réponse.
Sean the Bean
1
Merci pour cet extrait de code, qui pourrait fournir une aide immédiate limitée. Une explication appropriée améliorerait considérablement sa valeur à long terme en montrant pourquoi il s'agit d'une bonne solution au problème et le rendrait plus utile aux futurs lecteurs ayant d'autres questions similaires. Veuillez modifier votre réponse pour ajouter des explications, y compris les hypothèses que vous avez faites.
Donald Duck
11
Excellentes réponses. J'ai également eu un problème avec NULLS et j'ai réussi à le résoudre en incluant un COALESCE à l'intérieur de GROUP_CONCAT. Exemple comme suit:
Réponses:
http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat
À partir du lien ci-dessus
GROUP_CONCAT
,: Cette fonction renvoie un résultat de chaîne avec les valeurs non NULL concaténées d'un groupe. Il renvoie NULL s'il n'y a pas de valeurs non NULL.la source
Plus de détails ici .
À partir du lien ci-dessus
GROUP_CONCAT
,: Cette fonction renvoie un résultat de chaîne avec les valeurs non NULL concaténées d'un groupe. Il renvoie NULL s'il n'y a pas de valeurs non NULL.la source
Vous donnera une chaîne délimitée par des virgules
la source
: - Dans MySQL, vous pouvez obtenir les valeurs concaténées des combinaisons d'expression. Pour éliminer les valeurs en double, utilisez la clause DISTINCT . Pour trier les valeurs dans le résultat, utilisez la clause ORDER BY. Pour trier dans l'ordre inverse , ajoutez le mot clé DESC (décroissant) au nom de la colonne que vous triez dans la clause ORDER BY. La valeur par défaut est l'ordre croissant; cela peut être spécifié explicitement à l'aide du mot clé ASC. Le séparateur par défaut entre les valeurs d'un groupe est la virgule («,»). Pour spécifier un séparateur explicitement, utilisez SEPARATOR suivi de la valeur littérale de chaîne qui doit être insérée entre les valeurs de groupe. Pour éliminer complètement le séparateur, spécifiez SÉPARATEUR '' .
OU
la source
Le résultat est tronqué à la longueur maximale donnée par la variable système group_concat_max_len, qui a une valeur par défaut de 1024 caractères, nous faisons donc d'abord:
puis, par exemple:
la source
group_concat_max_len
config? Connexion / session actuelle, ou affectera-t-elle d'autres clients?Excellentes réponses. J'ai également eu un problème avec NULLS et j'ai réussi à le résoudre en incluant un COALESCE à l'intérieur de GROUP_CONCAT. Exemple comme suit:
J'espère que ceci aide quelqu'un d'autre
la source