Maison >base de données >tutoriel mysql >Comment agréger des chaînes dans une liste dans MySQL (similaire au LISTAGG d'Oracle) ?

Comment agréger des chaînes dans une liste dans MySQL (similaire au LISTAGG d'Oracle) ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-04 14:15:16482parcourir

How to Aggregate Strings into a List in MySQL (Similar to Oracle's LISTAGG)?

Fonction d'agrégation dans MySQL : agréger les valeurs dans une liste (similaire à LISTAGG dans Oracle)

Requête :

I need function, that returns list of strings.

I have data in table like this:

Id    MyString
------------------------
 1    First
 2    Second
 3    Third
 4    Fourth

I need function like this (something like this works in oracle):

select LISTAGG(MyString, ', ') as myList where id < 4

That returns something like this:

myList
------------------------
First, Second, Third

Réponse :

MySQL fournit la fonction GROUP_CONCAT() pour ce but. Il regroupe les valeurs dans une liste séparée par des virgules.

Requête utilisant GROUP_CONCAT() :

select group_concat(MyString separator ', ') as myList 
from table
where id < 4

Cette requête renverra une liste de chaînes, séparées par des virgules, pour toutes les lignes dont l'identifiant est inférieur à 4. La colonne 'myList' contiendra le total résultat.

Remarque : La fonction GROUP_CONCAT() permet un regroupement par plusieurs colonnes si nécessaire. Par exemple :

select group_concat(MyString separator ', ') as myList 
from table
where id < 4
group by another_column

Cette requête regroupera les résultats par colonne another_column et créera une liste de chaînes pour chaque groupe.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn