
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 ‘ – ‘)`.