Fonction d'agrégation MySQL : Liste
Dans MySQL, la fonction LISTAGG() utilisée dans Oracle n'est pas disponible. Cependant, vous pouvez utiliser la fonction GROUP_CONCAT() pour obtenir une fonctionnalité similaire. Cette fonction d'agrégation combine les valeurs de plusieurs lignes en une seule chaîne.
Pour reproduire le comportement de la fonction LISTAGG() d'Oracle, vous pouvez utiliser GROUP_CONCAT() comme suit :
SELECT GROUP_CONCAT(MyString SEPARATOR ', ') AS myList FROM table WHERE id < 4;
Cette requête concatènera les valeurs de la colonne MyString pour toutes les lignes où la colonne Id est inférieure à 4 et les séparera par des virgules. Le résultat sera une seule chaîne contenant les valeurs :
First, Second, Third
Vous pouvez éventuellement regrouper les résultats par différentes colonnes pour créer une liste hiérarchique. Par exemple, pour regrouper les résultats par colonne parent, vous pouvez utiliser :
SELECT GROUP_CONCAT(MyString SEPARATOR ', ') AS myList FROM table GROUP BY parent_column;
Cela générera une liste de chaînes pour chaque valeur unique dans la colonne_parent.
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!