Maison >base de données >tutoriel mysql >Comment concaténer des colonnes basées sur GROUP BY en SQL ?
Connexion de colonne sous instruction GROUP BY en SQL
En SQL, une manière courante de combiner ou de joindre des colonnes en fonction d'une instruction GROUP BY consiste à utiliser des fonctions d'agrégation en conjonction avec des opérateurs de chaîne. Voyons comment y parvenir.
Considérez l'exemple de tableau suivant :
ID | 用户 | 活动 | 页面URL |
---|---|---|---|
1 | 我 | act1 | ab |
2 | 我 | act1 | cd |
3 | 你 | act2 | xy |
4 | 你 | act2 | st |
Pour concaténer les valeurs PageURL de chaque utilisateur et groupe d'activités séparées par des virgules, nous pouvons utiliser la requête suivante :
SELECT [utilisateur], activité, STUFF((SELECT ',' page URL FROM table name WHERE [user] = a. [user] AND activité = a. activité FOR XML PATH ('')) , 1, 1, '') AS liste d'URL FROM nom de la table AS GROUP BY [utilisateur], activité
Répartition des requêtes :
Le tableau généré aura la mise en page souhaitée :
用户 | 活动 | URL列表 |
---|---|---|
我 | act1 | ab, cd |
你 | act2 | xy, st |
Cette approche exploite la puissance des fonctions d'agrégation et des opérations de chaîne pour concaténer efficacement les valeurs de colonnes basées sur les opérations GROUP BY, ce qui en fait une solution flexible pour une variété de tâches de manipulation de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!