Connexion de colonne sous l'instruction GROUP BY dans SQL
En SQL, une manière courante de combiner ou de joindre des colonnes en fonction d'une instruction GROUP BY consiste à utiliser une combinaison de fonctions d'agrégation et d'opérateurs de chaîne. Voyons comment y parvenir.
Considérez l'exemple de tableau suivant :
ID | Utilisateur | Activité | URL de la page |
---|---|---|---|
1 | i | act1 | ab |
2 | i | acte1 | cd |
3 | vous | acte2 | xy |
4 | vous | agissez2 | 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 nom de la table WHERE [utilisateur] = a. [utilisateur] AND activité = a. activité FOR XML PATH ('')) , 1, 1, '') AS liste d'URL FROM nom de table AS GROUP BY [utilisateur], activité
Décomposition de la requête :
Le tableau résultant aura la mise en page souhaitée :
Utilisateur | Activité | Liste d'URL |
---|---|---|
Moi | acte1 | ab, cd |
vous | 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.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3