La funzione `GROUP_CONCAT()` in MariaDB è usata per combinare in un’unica stringa i valori distinti di un gruppo di risultati.
Ecco un esempio d’uso:
Supponiamo di avere una tabella “studenti” con i seguenti registri:
Id | Nome | Materia |
—— | ———- | ————- |
1 | Marco | Matematica |
2 | Marco | Inglese |
3 | Anna | Storia |
4 | Anna | Matematica |
5 | Anna | Inglese |
6 | Paolo | Inglese |
7 | Paolo | Storia |
8 | Paolo | Geografia |
Se vogliamo un elenco delle materie per ogni studente, possiamo usare `GROUP_CONCAT()` insieme a `GROUP BY`:
```
SELECT Nome, GROUP_CONCAT(Materia)
FROM studenti
GROUP BY Nome;
```
Otterremo un output simile a questo:
Nome | GROUP\_CONCAT(Materia) |
———- | ———————————- |
Marco | Matematica,Inglese |
Anna | Storia,Matematica,Inglese |
Paolo | Inglese,Storia,Geografia |
Nota:
- Gli elementi nell’output di `GROUP_CONCAT()` sono separati da virgole di default.
- Puoi specificare un separatore diverso usando `SEPARATOR`. Ad esempio `GROUP_CONCAT(Materia SEPARATOR ‘ – ‘)`.