Cette demande de fonction d'agrégation est une pure bêtise. En effet une fonction d'agrégation n'a pas essence aucun ordre séquentiel de traitement.
Par exemple SUM qui est réellement une fonction d'agrégation, donne le même résultat si je commence dans l'ordre du plus petit au plus grand, ou inversement, ou en faisant plusieurs sommes partielle puis une somme finale des sommes partielles. Or les les bases de données relationnelles fonctionnent de manière ensembliste ce qui veut dire que toutes les opérations non ordonnées (dons la plupart) peuvent être jouées avec plusieurs threads en parallèle !
Il n'en va généralement pas de même avec la concaténation de chaines, qui, la plupart du temps nécessite un ordre de traitement séquentiel !
En conclusion il ne s'agit pas d'une agrégation de données.
Il existe c'est vrai quelque SGBD non relationnel comme MySQL (en fait un ersatz de SGBDR :
http://blog.developpez.com/sqlpro/p9...udre-aux-yeux/) qui proposent une telle ineptie, par exemple avec la fonction GROUP_CONCAT !
La solution consiste donc à utiliser une requête récursive pour ordonner cette concaténation. J'ai donné un exemple ici :
http://sqlpro.developpez.com/cours/s...ursives/#LIV-D
A +
Partager