mysql group_concat groupe par sur plusieurs champs
J'ai une Table membre avec member_id
, member_name
, club_name
, region
, zone
, email
en tant que champs.
Je suis en utilisant le MySQL group_concat
fonction comme
SELECT group_concat(distinct m.email
SEPARATOR ', ' ) from member m group by m.club_name
Cela fonctionne bien. Mais je voudrais être en mesure de group_concat
sur d'autres champs sans créer de nouvelles requêtes.
Est-il possible de fournir les autres champs comme paramètre?
member_id member_name club_name region zone email
1 member1 A 1 1 email1@example.com
2 member2 A 1 1 email2@example.com
3 member3 B 1 1 email3@example.com
4 member4 C 1 2 email4@example.com
5 member5 D 2 1 email5@example.com
**group by club**
email1@example.com,email2@example.com
email3@example.com
email4@example.com
email5@example.com
**group by region**
email1@example.com, email2@example.com, email3@example.com, email4@example.com
email5@example.com
**group by zone**
email1@example.com, email2@example.com, email3@example.com
email5@example.com
- Dire que chaque Région dispose de 3 Zones, chaque zone a plus qu'un club. Maintenant, comment puis-je obtenir des e-mails qui peuvent être groupées ou liées à la Région, d'une Zone ou d'un Club pour cette question?
- S'il vous plaît ajouter vos résultats souhaités
- double possible de Plusieurs GROUP_CONCAT sur les différents champs de l'utilisation de MySQL
Vous devez vous connecter pour publier un commentaire.
Il est difficile de comprendre ce que vous êtes après exactement à partir de votre question, mais vous pouvez essayer
Exemple de sortie:
Ici est SQLFiddle démo
Sur une note de côté: fournissant des données de l'échantillon et de la sortie souhaitée dans une question comme ça améliore généralement vos modifications d'obtenir votre réponse plus rapide et la mieux adaptée à vos besoins.
Mise à JOUR: Vous pouvez profondément pack d'informations à l'aide de
GROUP_CONCAT()
à l'aide de différents séparateurs si c'est ce que vous voulezExemple de sortie:
Ici est SQLFiddle démo
Si vous utilisez php sur le côté client, vous pouvez facilement assez détendez-vous
details
colonne pour séparer les enregistrements à l'aide d'explode()
pendant que vous êtes à parcourir le jeu de résultats.GROUP BY
... Ou vous souhaitez obtenir des e-mails groupés par différents champs dans un jeu de résultats (une ligne par groupement)?